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

    Page.ClientScript.RegisterClientScriptBlockPage.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>

  • 相关阅读:
    OAccflow集成sql
    集成备注
    CCflow与基础框架组织机构整合
    Jeecg_Jflow整合记录
    Problem opening .cshtml files
    The document cannot be opened. It has been renamed, deleted or moved.
    js中!和!!的区别及用法
    hdu 4757 Tree(可持久化字典树)
    Tomcat 学习进阶历程之Tomcat架构与核心类分析
    BZOJ 3000(Big Number-Stirling公式求n!近似值)
  • 原文地址:https://www.cnblogs.com/caoheyang911016/p/3164496.html
Copyright © 2011-2022 走看看