C#中使用事件需要的步骤
1。创建一个委托
2。将创建的委托与特定事件关联
3。编写事件处理程序
4。利用编与的事件处理程序生成一个委托实例
5。把这个委托实例添加到产生事件对象的事件列表中去,这个过程又叫订阅事件
Part1:
简单的脚本注册:
if(!Page.IsStartupScriptRegistered("regName")&&!Page.IsPostBack) //判断是否已经注册
{
string s = @"<script language=""javascript"">alert(""send client script"");</script>";
Page.RegisterStartupScript("regName",s);
}
Part2:
为<asp:DropDownList添加客户端的onchange事件:
function FunctionName(cmd)
{
if(confirm("Are you sure?")) eval(cmd);
else alert("Cancel");
}
string sService = Page.GetPostBackClientHyperlink(btnSave,""); //获取引用,最终onchange会调用btnSave事件
string sScript = @"Javascript:FunctionName(""OOKK"");";
sScript = sScript.Replace("OOKK",sService); //调用客户端函数FunctionName
dpTest.Attributes.Add("onchange",sScript);
//最终脚本: onchange="Javascript:FunctionName("javascript:__doPostBack('btnSave','')");
//参考:http://www.cnblogs.com/vipcjob/archive/2009/07/29/1534064.html Part3部分
Part3:
用户回车直接触发事件:
function SubmitKeyClick(button) //传入button的ID
{
if (event.keyCode == 13) //回车键盘
{
event.returnValue = false;
document.all[button].click(); //触发button的服务端click事件(btnOK_Click)
}
}
tbInput.Attributes.Add("onkeydown","SubmitKeyClick('btnOK');"); //输入框添加客户端始
Other:
onkeypress 是在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。
onkeyup 是在用户放开任何先前按下的键盘键时发生。
onkeydown 是在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。
委托与事件:
考参文章: http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx
//页面添加引用: using System.Threading;