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>

(0)

相关推荐

  • 用InstallShield打包ASP程序的脚本

    #include "ifx.h" //不能移动 ////////////////////////////////////////////////////////////////////////////// // 用InstallShield 进行 ASP 软件的打包和自动安装  // 原创作者: 贾俊 (Jaron) // 网址: http://www.jiangdu.net // 邮件: jaron@jdinfo.net // 首次发表于网易,ChinaASP,ASPHouse //

  • 隐藏修改文件时间和文件属性的ASP脚本

    复制代码 代码如下: <% '隐藏并修改文件的最后修改时间的aspshell '原理:通过FSO可以修改文件的属性,比如设置为只读,隐藏,系统等等:FSO中的attributes属性修改文件属性,1只读,2隐藏,4系统文件 ' 通过shell.application可以给文件重新设置一个最后修改时间 '2009/02/24 write by skyfire response.write "<form method=post>" response.write "

  • ASP.NET调用javascript脚本的常见方法小结

    1.直接在前台调用 javascript 函数 很简单,在 head 元素之间加入 script 元素,将 type 元素设置为 " text/javascript " 如: 复制代码 代码如下: <head runat="server"> <script type="text/javascript" > function ShowName(str) { alert("您的名字为:("+str+&quo

  • iis、apache与nginx禁止目录执行asp、php脚本的实现方法

    一般iis中比较简单,iis6如下图所示即可: 很多购买虚拟主机空间的用户,如果空间商提供了在线管理程序,也可以实现.具体的看下帮助即可. 需要知道目录名称,设置即可. iis7+禁止执行php等 IIS7也类似于IIS6.0,选择站点对应的目录,data.uploads及静态html文件目录,双击功能试图面板中的"处理程序映射"(如图2) 在"编辑功能权限--"中,我们直接去除脚本的执行权限即可.(如图3) apache中一般是通过.htaccess文件来限制 A

  • ASP中Server.Execute和Execute实现动态包含(include)脚本的区别

    最近打算尝试一下在ASP中实现MVC架构,肯定有人问我:ASP都淘汰了,为什么还研究?这点我也知道,自从微软放弃ASP 3.0转向ASP.NET后,ASP已经远远落后于和它几乎同时开始的PHP和JSP,开源比闭源的好处就像PHP和ASP一样,ASP说淘汰就淘汰,谁也救不了,但是值得注意的是ASP在中国市场还是蛮广泛的,尤其是一些中小企业的一些应用,简单的CMS不在话下,而且部署简单,在一些老旧的Windows系统上,不需要安装.NET Framework基本上就可以直接运行了,所以准备一个框架,

  • 使用ASP控制指定站点解析脚本语言函数

    ============================================================= '       感谢您使用ASP001工作室开发的实用函数程序 '               HTTP://WWW.ASP001.NET '=============================================================      'ASP001工作室为您提供订制程序开发.企业互联网拓展服务 'QQ:1974229 'E-Mail

  • IIS6 中"ASP 0201 错误 无效的默认脚本语言" 的解决方法

    今天突然打开任意Asp文件,都会提示: Active Server Pages 错误 'ASP 0201' 无效的默认脚本语言 为此应用程序指定的默认脚本语言无效. 平台: Windows 2003 IIS 6.0 解决方法(对我的电脑适用,不知对别人是否有效,仅作参考): 1.在控制面板里,删除IIS组件. 2.删除C:\Inetpub目录. 3.重新安装IIS. 4.如果不行就试一下IIS管理器里的"重新启动IIS"

  • ASP程序中常用的脚本语言

    在浏览器中通过查看源代码的方式是无法看到ASP源代码的,你只能看到由ASP文件输出的结果,而那些只是纯粹的HTML而已.这是因为,在结果被送回浏览器前,脚本已经在服务器执行了. 实例: 用ASP写文本 以下为引用的内容: <html> <body> <% response.write("Hello World!") %> </body> </html> 向文本添加HTML 以下为引用的内容: <html> <

  • asp分页生成html的程序脚本代码

    这是asp分页列表生成静态页面得asp小程序脚本 复制代码 代码如下: <!--#include file="conn.asp"-->  <html><head><TITLE>分页测试</TITLE><LINK href="inc/style.css" type=text/css rel=stylesheet></head>  <%strHead=strHead&&qu

  • ASP上传漏洞之利用CHR(0)绕过扩展名检测脚本

    今天Demon 提到了这个问题,正好想到之前看到的一篇文章<Automatic file upload using IE+ADO without user interaction - VBSscript> .这篇文章给出了本地无交互自动上传脚本的示例,正好今天可以借来一用,原脚本利用了InternetExplorer.Application组件,我改写了一下,用WinHttp.WinHttpRequest.5.1实现了类似的功能,关于这个组件更多的用法请参考<WinHttpRequest

  • 从一个网站扒下的asp生成静态页面的代码 脚本之家特供版

    复制代码 代码如下: <% webfolder="/" host="index_cn.asp"'前台动态地址 folder="/"'文件夹 filename="index_cn.html"'生成静态文件名 Fso_info host,folder,filename response.write"生成网站中文首页静态HTML完成.<br />" '生成html Function Fso_in

随机推荐