华域联盟 .Net ASP.NET中后台注册js脚本使用的方法对比

ASP.NET中后台注册js脚本使用的方法对比

用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>
您可能感兴趣的文章:

  • IIS6 中"ASP 0201 错误 无效的默认脚本语言" 的解决方法
  • 使用ASP控制指定站点解析脚本语言函数
  • 用InstallShield打包ASP程序的脚本
  • asp分页生成html的程序脚本代码
  • 隐藏修改文件时间和文件属性的ASP脚本
  • ASP.NET调用javascript脚本的常见方法小结
  • 从一个网站扒下的asp生成静态页面的代码 华域联盟特供版
  • iis、apache与nginx禁止目录执行asp、php脚本的实现方法
  • ASP上传漏洞之利用CHR(0)绕过扩展名检测脚本
  • ASP中Server.Execute和Execute实现动态包含(include)脚本的区别
  • ASP程序中常用的脚本语言

本文由 华域联盟 原创撰写:华域联盟 » ASP.NET中后台注册js脚本使用的方法对比

转载请保留出处和原文链接:https://www.cnhackhy.com/49802.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部