ASP.NET中后台注册js脚本使用的方法对比
ASP.NET中后台注册js脚本使用的方法对比
发布时间:2016-12-29 来源:查字典编辑
摘要:用Page.ClientScript.RegisterClientScriptBlock和Page.ClientScript.Registe...

用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”>

<>

</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>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类