最新动态

公司最新情况,我们将会在第一时间告诉大家。
全部
优惠活动 公司新闻 维护公告 精彩瞬间 备案专题 技术文章
RegisterClientScriptBlock和RegisterStartupScript简介
admin 2017/3/29 16:26:15

RegisterClientScriptBlock在 Page 对象的 元素的开始标记后立即发出客户端脚本,RegisterStartupScript则是在Page 对象的 元素的结束标记之前发出该脚本。如果你的脚本有与页面对象(doucument对象)进行交互的语句,则推荐使用RegisterStartupScript,反之如果要想客户端脚本尽可能早的执行,则可以使用RegisterClientScriptBlock和Response.Write。

我们新建一个default页面:

[html] view plain copy
 print?
  1. <span style="font-family:Microsoft YaHei;"><%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="Study._default" %>  
  2.   
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  4.   
  5. <html xmlns="http://www.w3.org/1999/xhtml">  
  6. <head runat="server">  
  7.     <title></title>  
  8.     <script type="text/javascript">  
  9.         function GetValue() {  
  10.             var value = document.getElementById("test").value;  
  11.             alert(value);  
  12.         }  
  13.     </script>  
  14. </head>  
  15. <body>  
  16.     <form id="form1" runat="server">  
  17.     <div>  
  18.     <input type="text" value="value" id="test"/>  
  19.     </div>  
  20.     </form>  
  21. </body>  
  22. </html>  
  23. </span>  


 

然后我们在后台pageload事件里面注册下两个脚本:

 

[csharp] view plain copy
 print?
  1. <span style="font-family:Microsoft YaHei;"protected void Page_Load(object sender, EventArgs e)  
  2.         {  
  3.             if (!IsPostBack) {  
  4.                 Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "msg""<script>alert('RegisterClientScriptBlock')</script>");  
  5.                 Page.ClientScript.RegisterStartupScript(this.GetType(), "msg""<script>alert('RegisterStartupScript')</script>");  
  6.             }  
  7.         }</span>  


运行页面我们可以在下图清楚地看到两个脚本的注册位置,RegisterClientScriptBlock在<form>标签之后,而RegisterStartupScript在</form>标签之前。

所以假如我们在页面未加载完全之前使用RegisterClientScriptBlock获取页面上的值是获取不到的。

我们的优势:昆明网站建设,云南网站建设,昆明网站建设公司,云南网络公司,昆明网络公司,云南服务器托管,昆明服务器托管,云南云主机,昆明云主机,云南VPS,云南软件开发,昆明软件开发

关注我们

总部地址:云南省.昆明市五华区江岸小区34栋401
研发分部:云南省.昆明市盘龙区白云路(昆明广场斜对面)赢城洋楼B栋4单元1502号 邮编:650000
服务热线:0871-65239562 传真:0871-65239562
工信部备案号:滇ICP备08002592号-4
《中华人民共和国增值电信业务经营许可证》滇B1、B2-20090016号
版权所有2003-2018 翼通数据中心 www.ynicp.com 全国服务热线:4000-8000-54

滇公网安备 53010202000228号

Copyright © 2004-2017 昆明网翼通科技有限公司 All rights reserved