您的位置:首页 > 编程语言 > ASP

ASP.NET 2.0 读书笔记 圣殿 之 Client端Script的增强与改良

2007-04-22 17:31 531 查看
1.控件的设置焦点
可以设置焦点的控件如下:
Button,CheckBox,DropDownList,HyperLink,ImageButton,LinkButton,ListBox,RadioButton,TextBox
四种方法,殊途同归:
Page.SetFocus(txtUserID);
this.SetFocus(txtUserID);
Page.SetFocus(txtUserID.ClientID);
txtUserID.Focus();
——设置焦点是页面(Page)级的,自动生成JS:WebForm_AutoFocus("txtUserID"); 这个WebForm_AutoFocus方法是IE自带的。

2.设置WebForm窗体默认按钮
这个动作是表单级的
<Form id="xx" defaultbutton="btnSubmit" defaultfocus="txtID" runat="server">

3.Client端Click事件:OnClientClick
在激发Server端Click事件前,在Client端先执行OnClientClick事件,这是一个JS:
<asp:Button ID="btnClientClick" runat="server"
OnClientClick="return confirm('确定发送?')"
OnClick="btnClientClick_Click" />

4.Client端JS的动态注册,从而不必写死JS在HTML中:
四种方法,各有使用之处:
RegisterClientScriptInclude("JS注册名","JS相对路径")
导入一个外部JS文件
RegisterClientScriptBlock(this.GetType(),"JS注册名","JS编码",true)
在程序中硬编码,得到一段JS,执行。
RegisterStartupScript(this.GetType(),"JS注册名","JS编码")
只在Form_Load时发生,刷新页面会再次激发JS事件。
RegisterOnSubmitStatement
在Submit前激发,使我们有机会在提交前取消这次操作。

同时,在执行这些方法之前,要先检查是否有同名的JS被注册,各自的检查在相应的方法前加Is,Register置后(比如说RegisterClientScriptInclude对应IsClientScriptIncludeRegister),参数:(this.GetType(),"JS注册名")

4.Client端的异步Callback机制
老实说,这一节我也没看懂,让我再想想。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: