ASP.NET中的事件处理
2006-08-04 22:13
295 查看
.ASP.NET服务器事件:
private void btnOK_Click(object sender, System.EventArgs e)
{
Response.Write("设计时添加事件!");
}
private void btnTest2_Click(object sender,System.EventArgs e)
{
Response.Write("运行时添加事件!");
}
private void InitializeComponent()
{
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
private void Page_Load(object sender, System.EventArgs e)
{
btnTest2.Click += new System.EventHandler(btnTest2_Click);
}
ASP.NET服务端添加客户端事件:
private void Page_Load(object sender, System.EventArgs e)
{
string script = @"return confirm('真的要删除吗?');";
this.Button1.Attributes.Add("onclick",script);
if (!Page.IsStartupScriptRegistered("PopUp")&&!Page.IsPostBack)
{
string scriptBlock =
@"<script language=""JavaScript"">alert(""发送客户端脚本"");
</script>";
Page.RegisterStartupScript("PopUp", scriptBlock);
}
}
通过客户端事件引发服务端事件:
private void Page_Load(object sender, System.EventArgs e)
{
string strCMD = Page.GetPostBackClientHyperlink( btnSave, "" );
string script = @"Javascript:ConfirmUpdate(""EVAL_MESSAGE"");";
script = script.Replace( "EVAL_MESSAGE" , strCMD );
ddlTest.Attributes.Add("onchange",script);
}
private void btnSave_Click(object sender, System.EventArgs e)
{
Response.Write("已经保存!");
}
服务器控件的刷新问题:
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsClientScriptBlockRegistered("MyScript"))
this.RegisterClientScriptBlock("MyScript",ScriptHelper.GetViewControlScript("Button1"));
}
/// 提供一些产生页面脚本的方法
public class ScriptHelper
{
/// 获取客户端查看控件的脚本
public static string GetViewControlScript(string controlName)
{
//创建客户端函数ViewObj
string script = "/n";
script += "<script language=/"javascript/">/n";
script += "function ViewObj(objName)/n";
script += "{/n";
script += "var obj = document.all.item(objName);/n";
script += "if (obj != null)/n";
script += "{/n";
script += "/tobj.scrollIntoView();/n";
script += "/tobj.focus();/n";
script += "}/n";
script += "}/n";
//创建客户端函数ToDo
script += "function ToDo()";
script += "{/n";
script += string.Format("setTimeout(/"ViewObj('{0}')/",1000);/n", controlName);
script += "}/n";
script += "window.onload = ToDo;/n";
script += "</script>/n";
return script;
}
}
如何回车触发指定按钮的事件:
function SubmitKeyClick(button)
{ if (event.keyCode == 13) //回车键盘
{ event.returnValue = false; document.all[button].click(); }
}
private void Page_Load(object sender, System.EventArgs e)
{
tbInput.Attributes.Add("onkeydown","SubmitKeyClick('btnOK');");
}
private void btnOK_Click(object sender, System.EventArgs e)
{
Response.Write("ok!");
}
private void btnOK_Click(object sender, System.EventArgs e)
{
Response.Write("设计时添加事件!");
}
private void btnTest2_Click(object sender,System.EventArgs e)
{
Response.Write("运行时添加事件!");
}
private void InitializeComponent()
{
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
private void Page_Load(object sender, System.EventArgs e)
{
btnTest2.Click += new System.EventHandler(btnTest2_Click);
}
ASP.NET服务端添加客户端事件:
private void Page_Load(object sender, System.EventArgs e)
{
string script = @"return confirm('真的要删除吗?');";
this.Button1.Attributes.Add("onclick",script);
if (!Page.IsStartupScriptRegistered("PopUp")&&!Page.IsPostBack)
{
string scriptBlock =
@"<script language=""JavaScript"">alert(""发送客户端脚本"");
</script>";
Page.RegisterStartupScript("PopUp", scriptBlock);
}
}
通过客户端事件引发服务端事件:
private void Page_Load(object sender, System.EventArgs e)
{
string strCMD = Page.GetPostBackClientHyperlink( btnSave, "" );
string script = @"Javascript:ConfirmUpdate(""EVAL_MESSAGE"");";
script = script.Replace( "EVAL_MESSAGE" , strCMD );
ddlTest.Attributes.Add("onchange",script);
}
private void btnSave_Click(object sender, System.EventArgs e)
{
Response.Write("已经保存!");
}
服务器控件的刷新问题:
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsClientScriptBlockRegistered("MyScript"))
this.RegisterClientScriptBlock("MyScript",ScriptHelper.GetViewControlScript("Button1"));
}
/// 提供一些产生页面脚本的方法
public class ScriptHelper
{
/// 获取客户端查看控件的脚本
public static string GetViewControlScript(string controlName)
{
//创建客户端函数ViewObj
string script = "/n";
script += "<script language=/"javascript/">/n";
script += "function ViewObj(objName)/n";
script += "{/n";
script += "var obj = document.all.item(objName);/n";
script += "if (obj != null)/n";
script += "{/n";
script += "/tobj.scrollIntoView();/n";
script += "/tobj.focus();/n";
script += "}/n";
script += "}/n";
//创建客户端函数ToDo
script += "function ToDo()";
script += "{/n";
script += string.Format("setTimeout(/"ViewObj('{0}')/",1000);/n", controlName);
script += "}/n";
script += "window.onload = ToDo;/n";
script += "</script>/n";
return script;
}
}
如何回车触发指定按钮的事件:
function SubmitKeyClick(button)
{ if (event.keyCode == 13) //回车键盘
{ event.returnValue = false; document.all[button].click(); }
}
private void Page_Load(object sender, System.EventArgs e)
{
tbInput.Attributes.Add("onkeydown","SubmitKeyClick('btnOK');");
}
private void btnOK_Click(object sender, System.EventArgs e)
{
Response.Write("ok!");
}
相关文章推荐
- asp.net 前台事件处理原理
- ASP.NET的生命周期与事件处理
- ASP.NET GridView鼠标停留变色,行单击显示详细记录的事件处理
- ASP.NET错误处理方法归结(方法1):page_error 事件
- ASP.NET错误处理方法归结(方法2):Application_Error 事件
- asp.net处理事件
- ASP.NET中的事件处理
- ASP.NET 页生命周期和页面事件处理管道
- ASP.NET中的事件处理
- Asp.net 更改Alert样式和后台注册Jquery的Ajax异步提交事件[包括处理前操作、处理后操作(注明:此方法只是作为参考,如有需要可自行修改)]
- 在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(EventHandler)
- asp.net 删除cookies同时注销登录禁用IE后退事件 框架里处理
- asp.net错误捕获(错误处理)page_error事件使用方法
- ASP.NET 截取的、在处理请求期间产生的事件
- ASP.NET MVC中注册Global.asax的Application_Error事件处理全局异常
- Asp.net页面事件引发后台程序处理原理
- asp.net控件开发基础(3) ----------自定义控件事件处理
- asp.net控件开发基础(8) ----------在复合控件中中的事件处理(事件冒泡)
- 在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler)[转帖]
- ASP.NET AJAX 添加请求处理事件来防止按钮重复提交