
2005年10月28日
动态添加控件要注意的问题:
Button mimi = new Button();
this.Controls.Add(mimi);
运行报错:
System.Web.HttpException: 类型"Button"的控件"_ctl0"必须放在具有 runat=server
的窗体标记内
出错原因:
Button没有放在Form1里面
正确写法:
Button mimi = new Button();
((HtmlForm)FindControl("Form1")).Controls.Add(mimi);
That's ok!!
posted @ 2005-10-28 10:41 晒太阳 阅读(516) 评论(0)
编辑
因工作需要,总结了几种分隔字符串的方法:
1、用字符串分隔:
using System.Text.RegularExpressions;
string str="aaajsbbbjsccc";
string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);
foreach (string i in sArray) Response.Write(i.ToString() + "<br>");
输出结果:
aaa
bbb
ccc
2、用多个字符来分隔:
string str="aaajbbbscccjdddseee";
string[] sArray=str.Split(new char[2]{'j','s'});
foreach(string i in sArray) Response.Write(i.ToString() + "<br>");
输出结果:
aaa
bbb
ccc
ddd
eee
3、用单个字符来分隔:
string str="aaajbbbjccc";
string[] sArray=str.Split('j');
foreach(string i in sArray) Response.Write(i.ToString() + "<br>");
输出结果:
aaa
bbb
ccc
-----------------------------------------------
不过有个问题还希望高手指点迷津:
"1"方法中所说的字符串分隔字符串,如果用"js"分割"aaajsbbbjsccc"是可以正常分隔的,但是使用"^*^"来分隔"aaa^*^bbb^*^ccc"就不能正常分隔了,输出结果竟还是"aaa^*^bbb^*^ccc",不知道该怎么解决这个问题。请教!谢谢!
posted @ 2005-10-28 09:24 晒太阳 阅读(771) 评论(5)
编辑

2005年10月16日
刚学asp.net,做了一个查询试试看,可以查,只是不知道方法是否得当
晒太阳的第一个精确查询:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(IsPostBack)
{
string role_name = this.Request["role_name"].ToString();
string org_id = this.Request["org_id"].ToString();
string strSQL,strSQL1,strSQL2;
strSQL = "";
strSQL1 = "select * from role";
strSQL2=" order by role_id desc";
if(role_name != "")
{
strSQL=" where role_name='"+ role_name +"'";
}
if(org_id != "")
{
if(strSQL == "")
{
strSQL=" where org_id='"+ org_id +"'";
}
else
{
strSQL=strSQL + " and org_id='"+ org_id +"'";
}
}
strSQL = strSQL1 + strSQL + strSQL2;
//Response.Write(strSQL);
//Response.End();
OracleConnection conn=new OracleConnection("User ID=wos;Password=wos;Data Source=test;");
//OracleDataAdapter cmd=new OracleDataAdapter("select * from role",conn);
OracleDataAdapter cmd=new OracleDataAdapter(strSQL,conn);
DataSet dtSet=new DataSet();
cmd.Fill(dtSet,"table1");
this.role.DataSource=dtSet.Tables["table1"];
this.role.DataBind();
}
}
晒太阳的第一个模糊查询
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(IsPostBack)
{
string role_name = this.Request["role_name"].ToString();
string org_id = this.Request["org_id"].ToString();
string strSQL;
// 模糊查询:
strSQL="select * from role where role_name like '%"+ role_name +"%' and org_id like '%"+ org_id +"%' order by role_id desc";
OracleConnection conn=new OracleConnection("User ID=wos;Password=wos;Data Source=test;");
OracleDataAdapter cmd=new OracleDataAdapter(strSQL,conn);
DataSet dtSet=new DataSet();
cmd.Fill(dtSet,"table1");
this.role.DataSource=dtSet.Tables["table1"];
this.role.DataBind();
}
}
posted @ 2005-10-16 22:05 晒太阳 阅读(244) 评论(3)
编辑
试验总结框架式页面注销的窗口跳转问题,设含“退出”链接的页面为xxxx.aspx;注销执行页面为logout.aspx;登陆页面为login.aspx,方法如下:
1、在本窗口打开登录页可用:
XXXX.aspx
……
<asp:linkbutton id=LinkButton1 onclick=action_logout runat="server">退出</asp:LinkButton>
……
XXXX.aspx.cs
……
public void action_logout(object sender, System.EventArgs e)
{
Session.RemoveAll();
Response.Redirect("../login.aspx");
}
……
2、在父窗口打开登录页须用:
XXXX.aspx
……
<A href="#" onclick="window.open('../logout.aspx','_parent')">退出</a>
……
Logout.aspx
……
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Session.RemoveAll();
Response.Redirect("login.aspx");
}
……
html控件中的onclick调用的是javascript的函数
web控件中的onclick调用的是C#或VB.net中的函数
posted @ 2005-10-16 22:01 晒太阳 阅读(569) 评论(0)
编辑
前不久调试程序时遇到:访问被拒绝:“CSDN.Authentication”的错误,在网上查到这篇文章,按此方法确实能解决问题,希望能给遇到同样问题的朋友们带来帮助
如下:
有时候,我们在调试ASP.net程序的时候,会很痛苦的碰到。某某组件访问被拒绝。这时候重起IIS,电脑注销都不起作用。这时候的错误信息一般类似如下的方式:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------
配置错误
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。
分析器错误信息: 访问被拒绝:“CSDN.Authentication”。
源错误:
行 196: <add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
行 197: <add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
行 198: <add assembly="*"/>
行 199: </assemblies>
行 200: </compilation>
源文件: c:\windows\microsoft.net\framework\v1.1.4322\Config\machine.config 行: 198
程序集加载跟踪: 下列信息有助于确定程序集“CSDN.Authentication”无法加载的原因。
=== Pre-bind state information ===
LOG: DisplayName = CSDN.Authentication
(Partial)
LOG: Appbase = file:///F:/MyDevelop/AD/Code/ADManageWeb
LOG: Initial PrivatePath = bin
Calling assembly : (Unknown).
===
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: CSDN.Authentication
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/root/3151f96f/581ce000/CSDN.Authentication.DLL.
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/root/3151f96f/581ce000/CSDN.Authentication/CSDN.Authentication.DLL.
LOG: Attempting download of new URL file:///F:/MyDevelop/AD/Code/ADManageWeb/bin/CSDN.Authentication.DLL.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: CSDN.Authentication, Version=1.0.1965.30523, Culture=neutral, PublicKeyToken=null
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300
其中最常见的原因是Indexing service服务引起的。解决方法就是停用Indexing service,或配置ASP.net 的临时目录不受Indexing service服务的影响。
配置ASP.net 的临时目录不受Indexing service服务的影响的步骤如下:
1、开始 -- 管理工具 -- 计算机管理(Win2003的位置,其他操作系统类似)打开计算机管理
2、展开计算机管理左边树中“服务和应用程序”节点,再在其下展开“索引服务”节点,再在其下展开“System”节点,再在其下展开“目录”节点。
3、在计算机管理的右边我们可以看到配置的索引服务目录。
4、在“目录”节点上右击鼠标,选择“新建”--“目录”
5、在“添加目录”对话框中,路经输入框中输入 ASP.net 的临时文件目录。默认应该是:
c:\<WINDIR>\Microsoft.NET\Framework\<Version Number>\Temporary ASP.NET Files 目录。
<Version Number> 指你要处理的.net版本。
6、在“包含在索引中吗?”选项中,选择“否”
7、单击“确定”按钮
8、在“索引服务”节点上右键单击,重起索引服务即可。
参考以下文档:
http://community.csdn.net/Expert/topic/4075/4075120.xml
http://support.microsoft.com/default.aspx?scid=kb;en-us;329065
posted @ 2005-10-16 21:50 晒太阳 阅读(245) 评论(2)
编辑
安装vs.net之前必须先安装iis
如果在安装了vs.net之后再装iis的话必须对iis进行注册
方法:
开始-->MS VS.net 2003-->VS.net 工具-->VS.net命令提示符-->输入:Aspnet_regiis.exe -r
这样就搞定了
posted @ 2005-10-16 21:44 晒太阳 阅读(300) 评论(0)
编辑
|
类型标识 |
说明 |
|
Number |
数字型 |
|
Int |
整数型 |
|
Pls_integer |
整数型,溢出时会发生错误 |
|
Binary_integer |
整数型,表示带符号的整数 |
|
Char |
定长字符型,最大255个字符 |
|
Varchar2 |
变长字符型,最大2000个字符 |
|
Long |
变长字符,最大2GB |
|
Date |
日期型 |
|
Boolean |
布尔型(true,false,null值中的一个) |
posted @ 2005-10-16 21:35 晒太阳 阅读(210) 评论(0)
编辑
Sql server
sql1="select isnull(max(seq_no),0) as seq_no from bar_contrast"
Oracle
sql1="select nvl(max(seq_no),0) as seq_no from bar_contrast"
posted @ 2005-10-16 21:24 晒太阳 阅读(1238) 评论(1)
编辑
不区分大小写:
sql="SELECT * from admin where admin_name='"&adminname&"' and admin_pwd='"&adminpwd&"' order by admin_name desc"
区分大小写:
sql="SELECT * from admin where admin_name='"&adminname&"' and admin_pwd collate Chinese_PRC_CS_AS_WS ='"&adminpwd&"' order by admin_name desc"
posted @ 2005-10-16 21:23 晒太阳 阅读(155) 评论(0)
编辑