• ASP.NET中注册客户端脚本的三种方式


    1. RegisterClientScriptBlock

      把Javascript函数放在页面顶部

    代码如下:

    protected void Page_Load(object sender, EventArgs e)
    {
      
    string myScript = @"function AlertHello() { 
                          var oText = document.getElementById('TextBox1');
                          alert(oText.value); }
    ";
      Page.ClientScript.RegisterClientScriptBlock(
    this.GetType(),
                   
    "MyScript", myScript, true);
    }

    生成的html代码如下:

    <html xmlns="http://www.w3.org/1999/xhtml" >
    ...
    <body>
    <form>

    ... 
     
    <script type="text/javascript"> 
    //<![CDATA[
    function AlertHello() { 
      
    var oText = document.getElementById ('TextBox1');
      alert(oText.value); }
    //]]>
    </script>
            
    <input name="TextBox1" type="text"  id="TextBox1" />
    <input type="submit" name="Button1" value="Button" onclick="AlertHello();" id="Button1" />
           
    ...
     
    </form>
    </body>
    </html>

    2. RegisterStartupScript

    把Javascript函数放在页面底部

    代码如下:

    protected void Page_Load(object sender, EventArgs e)
    {
      
    string myScript = @"document.getElementById('TextBox1').value = 'Hello ASP.NET.';
                          var oText = document.getElementById('TextBox1');
                          alert(oText.value); 
    ";
      Page.ClientScript.RegisterStartupScript(
    this.GetType(),
                   
    "MyScript", myScript, true);
    }

    生成的html代码如下:

    <html>
    ...
    <body>
    <form>

    ...        

    <input name="TextBox1" type="text" id="TextBox1" />
        
    <script type="text/javascript"> 
    //<![CDATA[
    document.getElementById('TextBox1').value = 'Hello ASP.NET.';
    var oText = document.getElementById('TextBox1');
    alert(oText.value); 
    //]]>
    </script>

    </form>
    </body>
    </html>

    3. RegisterClientScriptInclude

    注册外部的Javascript脚本文件

    代码如下:

    protected void Page_Load(object sender, EventArgs e)
    {
      
    string myScript = "../JS/myJavaScriptCode.js";
      Page.ClientScript.RegisterClientScriptInclude(
    "MyScript", myScript);
    }

    Javascript代码如下:

    function AlertHello() {
        
    var oText = document.getElementById('TextBox1');
        alert(oText.value);
    }

    HTML中调用如下:

    <asp:Button ID="Button1" Runat="server" Text="Button"
                OnClientClick="AlertHello()" />

    它也是把script脚本放在代码底部

    技术改变世界
  • 相关阅读:
    mybatis中的foreach条件参数过多时,#和$效率比较
    Error creating bean with name 'persistenceExceptionTranslationPostProcessor' defined in class path resource [org/springframework/boot/autoconfigure/dao/PersistenceExceptionTranslationAutoConfiguration
    ConfigurationProperties cannot be resolved to a type
    Java 注解 初探 (一)
    无题
    [转载]A cycle was detected in the build path of project
    20段代码
    在tomcat5中发布项目时,用IP地址+端口不能访问项目,而用localhost加端口时可以访问成功
    Cannot get connection for URL jdbc:oracle:thin:调用中无效参数
    mysql中表分类MyISAM和InnoDB的区别
  • 原文地址:https://www.cnblogs.com/davidgu/p/2053711.html
Copyright © 2020-2023  润新知