ASP.NET中后台注册js脚本使用的方法对比
程序员文章站
2024-03-01 19:50:40
用page.clientscript.registerclientscriptblock 和page.clientscript.registerstartupscript:...
用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>
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>
上一篇: php用户密码加密算法分析【Discuz加密算法】
下一篇: Java Web三层架构的配置详解
推荐阅读
-
ASP.NET中后台注册js脚本使用的方法对比
-
asp.net后台cs中的JSON格式变量在前台Js中调用方法(前后台示例代码)
-
asp.net后台如何输出js脚本使用什么方法可以实现
-
asp.net后台注册js的四种方法分享
-
asp.net后台如何输出js脚本使用什么方法可以实现
-
asp.net后台注册js的四种方法分享
-
asp.net中button控制先执行js再执行后台程序的方法
-
asp.net中button控制先执行js再执行后台程序的方法
-
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法_jquery
-
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法_jquery