■ 单击跳转指令该用哪个
对于服务器按钮控件(即<asp:Button>类型的按钮):
服务器响应事件:OnClick
客户端响应属性:OnClientClick
对于html按钮控件(即<input type="button" runat="server">):
服务器响应事件:OnServerClick
客户端响应事件:onclick
■ 获取前一页的控件
这里以获取前一页名字为"us_Name"的TextBox控件为例:
TextBox us_txtbx=(TextBox)PreviousPage.FindControl("us_Name");
Response.write(us_txtbx.Text);
■遍历数据库某数据表,有多少行数据,就在页面添加多少个lable并赋值该行数据给lable的思路
for( int i=0;i<dt.Rows.Count;i++)
{
Lable lb=new Label();
lb.Text=dt.Rows[i].ToString();
this.form1.Controls.Add(lb);
}
类型转换(这里拿datetime做示范):
(datetime)object
datetime.prase(object)
convert.todatetime(object)
Session失效解决:
新建个页面refresh.aspx,在head里加入
<meta http-equiv="Refresh" content="300000;url=refresh.aspx">
即每5分钟刷新一次。
再在需要防止session失效的页面加入:
<iframe width=0 height=0 src="refresh.aspx"></iframe>
判断URL传参是否为空或NULL:
if (!String.IsNullOrEmpty(Request.QueryString["id"]))
{
.....
}
判断cookie是否为空或NULL:
if (Request.Cookies["admin"] == null){
Response.Redirect("../error.htm");
}
通过后台来执行js的三种方式:
一、后台输出已有js文件
首先创建 js文件testjs.js
if (!Page.ClientScript.IsClientScriptIncludeRegistered(this.GetType(), "keys"))//判断keys是否已注册过
{
Page.ClientScript.RegisterClientScriptInclude("keys", "testjs.js");
}
二、输出js代码块
string scriptstrs = "";//此处只作为演示,如代码需多次拼接应采用StringBuilder方式
scriptstrs += "function test(str)";
scriptstrs+="{alert(str);}";
if (!Page.ClientScript.IsClientScriptBlockRegistered(this.GetType(), "keys"))
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "keys", scriptstrs, true);
}
三、 输出一次性使用的js代码
string scriptstrs = "<script>alert('欢迎光临!');</script>";
if (!Page.ClientScript.IsStartupScriptRegistered(this.GetType(),"welcome"))
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "welcome", scriptstrs);
}
此外,运用Response.Write("<script>alert('ww');</script>"); 方式也可输出简单js代码,但我个人不提倡采用此种方式。因为在以前开发中遇到有些情况下此种方式会导致弹出提示信息后页面字号改变的现象,所以安全起见建议采用上述三种方式。