zoukankan      html  css  js  c++  java
  • ASP.NET中后台注册js脚本攻略(转)

    Page.ClientScript.RegisterClientScriptBlock 和Page.ClientScript.RegisterStartupScript:区别:

      

    1.使用Page.ClientScript.RegisterClientScriptBlock

    c#

     
    代码
    1 <%@ Page Language=”C#” %>
    2  <script runat=”server”>
    3  protectedvoid Page_Load(object sender, EventArgs e)
    4 {
    5  string myScript = @”function AlertHello() { alert(‘Hello ASP.NET’); }”;
    6 Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
    7 “MyScript”, myScript, true);
    8 }
    9 </script>
     

    运行结果如下:

    <html xmlns=”http://www.w3.org/1999/xhtml” >
    <head><title>
    Adding JavaScript
    </title></head>
    <body>
    <form method=”post” action=”JavaScriptPage.aspx” id=”form1”>
    <div>
    <input type=”hidden” name=”__VIEWSTATE”
    value=”/wEPDwUKMTY3NzE5MjIyMGRkiyYSRMg+bcXi9DiawYlbxndiTDo=” />
    </div>
    <script type=”text/javascript”>
    <!--
    function AlertHello() { alert(‘Hello ASP.NET’); }// -->
    </script>
    <div>
    <input type=”submit” name=”Button1” value=”Button” onclick=”AlertHello();”
    id=”Button1” />
    </div>
    </form>
    </body>
    </html>


    2.使用Page.ClientScript.RegisterStartupScript

    RegisterStartupScript 方法与RegisterClientScriptBlock方法最大的不同是:RegisterStartupScript 把script放置在 ASP.NET page的底部,而RegisterClientScriptBlock把script放置在ASP.NET page的顶部。

    如果你的页面中有如下代码:

    <asp:TextBox ID=”TextBox1” Runat=”server”>Hello ASP.NET</asp:TextBox>


    c#

    protected void Page_Load(object sender, EventArgs e)
    {
      string myScript = @”alert(document.forms[0][‘TextBox1’].value);”;
      Page.ClientScript.RegisterClientScriptBlock(
    this.GetType(), “MyScript”, myScript, true);
    }

    此页面运行时会报错,原因是JavaScript function先于text box被安放于浏览器。因此JavaScript function找不到TextBox1。
    c#

    protected void Page_Load(object sender, EventArgs e)
    {
      string myScript = @”alert(document.forms[0][‘TextBox1’].value);”;
      Page.ClientScript.RegisterStartupScript(
    this.GetType(), “MyScript”, myScript, true);
    }

    这段代码把JavaScript function放置于ASP.NET page底部,因此JavaScript运行时它能找到TextBox1。

    3.使用Page.ClientScript.RegisterClientScriptInclude


    许多开发者把JavaScript放置在.js文件中,使用RegisterClientScriptInclude方法可以注册.js文件中的JavaScript。
    c#

    string myScript = “myJavaScriptCode.js”
    Page.ClientScript.RegisterClientScriptInclude(“myKey”, myScript);

    这将在ASP.NET页面产生如下结构:
      <script src=”myJavaScriptCode.js” type=”text/javascript”></script>

     

  • 相关阅读:
    Vue 入门. 如何在HTML代码里面快速使用Vue
    CSS3 神器总结
    《JavaScript高级程序设计(第3版)》阅读总结记录第二章之在HTML中使用JavaScript
    《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
    简单轮播的实现
    怎么作好一个领导者?什么是团队?怎么当好一个组员?
    谈BFC和haslayout
    JavaScript 数组
    ubuntu配置android开发环境和编译源码遇到的一些问题
    C语言文件操作函数大全
  • 原文地址:https://www.cnblogs.com/jasonlny/p/3556001.html
Copyright © 2011-2022 走看看