• Page.registerstartupscript方法和Page.RegisterClientScriptBlock 和Page.RegisterStartupScript区别?


    msdn如下说:允许 asp.net 服务器控件在 page 中发出客户端脚本块。
        [C#]
        public virtual void RegisterStartupScript(
           string key,
           string script
        );
    参数
        key
            标识脚本块的唯一键。
        script
            要发送到客户端的脚本的内容。
     
    以下是一些应用实例:
    打开一个新窗口:
        page.registerstartupscript("starup", "<script language= 'javascript'>window.open('" + url + "','','toolbar=no,resizable=yes,scrollbars=yes')</script>")
    警告窗口
    // <summary>
    // 服务器端弹出alert对话框
    // </summary>
    // <param name="str_message">提示信息,例子:"不能为空!"</param>
    // <param name="page">page类</param>
    public void alert(string str_message,page page)
    {
    page.registerstartupscript("","<script>alert('"+str_message+"');</script>");
    }
    重载此警告窗口,使某控件获得焦点
    // <summary>
    // 服务器端弹出alert对话框,并使控件获得焦点
    // </summary>
    // <param name="str_ctl_name">获得焦点控件id值,比如:txt_name</param>
    // <param name="str_message">提示信息,例子:"请输入您姓名!"</param>
    // <param name="page">page类</param>
    public void alert(string str_ctl_name,string str_message,page page)
    {
    page.registerstartupscript("","<script>alert('"+str_message+"');document.forms(0)."+str_ctl_name+".focus(); document.forms(0)."+str_ctl_name+".select();</script>");
    }
    确认对话框
    // <summary>
    // 服务器端弹出confirm对话框
    // </summary>
    // <param name="str_message">提示信息,例子:"您是否确认删除!"</param>
    // <param name="btn">隐藏botton按钮id值,比如:btn_flow</param>
    // <param name="page">page类</param>
    public void confirm(string str_message,string btn,page page)
    {
    page.registerstartupscript("","<script> if (confirm('"+str_message+"')==true){document.forms(0)."+btn+".click();}</script>");
    }
    重载确认对话框,点击确定触发一个隐藏按钮事件,点击取消触发一个隐藏按钮事件
    // <summary>
    // 服务器端弹出confirm对话框,询问用户准备转向那些操作,包括“确定”和“取消”时的操作
    // </summary>
    // <param name="str_message">提示信息,比如:"成功增加数据,单击\"确定\"按钮填写流程,单击\"取消\"修改数据"</param>
    // <param name="btn_redirect_flow">"确定"按钮id值</param>
    // <param name="btn_redirect_self">"取消"按钮id值</param>
    // <param name="page">page类</param>
    public void confirm(string str_message,string btn_redirect_flow,string btn_redirect_self,page page)
    {
    page.registerstartupscript("","<script> if (confirm('"+str_message+"')==true){document.forms(0)."+btn_redirect_flow+".click();}else{document.forms(0)."+btn_redirect_self+".click();}</script>");
    }

    获得焦点
    // <summary>
    // 使控件获得焦点
    // </summary>
    // <param name="str_ctl_name">获得焦点控件id值,比如:txt_name</param>
    // <param name="page">page类</param>
    public void getfocus(string str_ctl_name,page page)
    {
    page.registerstartupscript("","<script>document.forms(0)."+str_ctl_name+".focus(); document.forms(0)."+str_ctl_name+".select();</script>");
    }
    子窗体返回主窗体
    //<summary>
    //名称:redirect
    //功能:子窗体返回主窗体
    //参数:url
    //返回值:空
    //</summary>
    public void redirect(string url,page page)
    {
    if ( session["ifdefault"]!=(object)"default")
    {
    page.registerstartupscript("","<script>window.top.document.location.href='/webjx/"+url+"';</script>");
    }
    }


    Page.RegisterClientScriptBlock  和  Page.RegisterStartupScript  区别  
    ---------------------------------------------------------------  
     
    Page.RegisterClientScriptBlock  
    脚本将会被放在紧挨</form>的前面。  
     
    Page.RegisterStartupScript  
    脚本将会被放在紧挨<form  runat="server">后几个隐藏的input的后面。  
     
    如果你仅仅是注册一些函数,这两者的效果是一样的。  
    但如果你要注册一些全局的脚本,如定义一些全局变量并赋值,那么它在HTML中的先后位置可能就比较重要,此时就应该用RegisterStartupScript保证脚本能在前面被执行。  
  • 相关阅读:
    python 函数的进阶
    python 函数的基础
    python3.6 中特殊格式化 和 字典中的pop
    python 文件操作
    python 基础数据类型补充,set集合,深浅拷贝
    python is 和 == 的区别,编码问题
    python字典
    python中堆和栈_Python小知识00002
    pip的更新_Python小知识00001
    Python字符串的编码
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/607204.html
Copyright © 2020-2023  润新知