呈现脚本块

       目前为止的 js 都是直接插入页面 .aspx 部分的静态 <script> 块。然而,使用公开 ClientScriptManager 对象的 Page.ClientScript 属性呈现脚本通常更加灵活。

       ClientScriptManager 提供了几个管理脚本块的有用方法,其中两个最有用的方法如下:

  • RegisterClientScriptBlock() :把脚本块写到 Web 表单的开始,在 <form runat=”server”> 标签后。适合响应 js 事件而被调用的函数使用。这样的 <script> 块可以放在任意地方,放在 Web 表单开头只是出于习惯并使它们容易被找到
  • RegisterStartupScript() :把脚本块写到 Web 表单的结尾,在结束标签 </form> 之前。用于添加那些页面加载时立刻执行的 js 代码。这些代码可能操纵页面上的其他控件,所有放在 Web 表单的结尾比较安全。

       使用这 2 个方法,需要指定脚本块的键名。唯一的键名,好处是能保证 ASP.NET 不会把相同的脚本函数添加多次。例如 ASP.NET 验证控件,每个控件都要使用一些验证函数,但是让每个控件都添加重复的 <script> 块并没有意义。但当调用 RegisterClientScriptBlock() 时,每个控件都使用相同的键名,ASP.NET 知道它们是重复的定义,所以只呈现一份单一副本。

 

       下面的代码注册一个 confirmSubmit() 的 js 函数,通过 onsubmit 特性附加到表单上:

object sender, EventArgs e)
{
    string script = @"<script type='text/javascript'>
        function confirmSubmit(){
            var msg = 'Are you sure you want to submit this data?';
            return confirm(msg);
        }
    </script>";
    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Confirm", script);
    form1.Attributes.Add("onsubmit", "return confirmSubmit();");
}

相关文章:

  • 2021-09-17
  • 2021-12-30
  • 2021-05-27
  • 2022-12-23
  • 2022-12-23
  • 2021-07-06
  • 2021-09-12
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-31
  • 2022-12-23
  • 2022-12-23
  • 2021-09-08
相关资源
相似解决方案