在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
用Page.ClientScript.RegisterClientScriptBlock 和Page.ClientScript.RegisterStartupScript:区别: 1.使用Page.ClientScript.RegisterClientScriptBlock c#代码 复制代码 代码如下: <%@ Page Language=”C#” %> <script runat=”server”> protected void Page_Load(object sender, EventArgs e) { string myScript = @”function AlertHello() { alert(‘Hello ASP.NET'); }”; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), “MyScript”, myScript, true); } </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> |
请发表评论