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


    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机制
    老实说,这一节我也没看懂,让我再想想。

  • 相关阅读:
    [WWF]相关资料整理
    [CSharp]经常遇到字符编码转换的问题
    [BizTalk]BizTalk Server 2004的监控和管理
    [Linux]删除目录
    [BizTalk]好用的BizTalk管理工具
    [JWF]使用脚本访问ActiveDirectory(一)ADODB
    [BizTalk][Why]持久化数据库的状态时出现异常
    [BizTalk]关于BizTalk中的命名规则
    FTP连接
    [导入]跟踪BTSWebSvcWiz.exe的执行过程
  • 原文地址:https://www.cnblogs.com/Jax/p/723014.html
Copyright © 2020-2023  润新知