.NEt专家博客!

ASP.NET 中对 JavaScript 的支持

上一篇 / 下一篇  2008-10-13 14:25:42 / 个人分类:WEB开发

ASP.NET中,System.Web.UI.ClientScriptManager用来javascript:;" onClick="javascript:tagshow(event, '%B9%DC%C0%ED');" target="_self">管理脚本,此类可以通过页面对象的ClientScript.属性取得。通过这个对象可以管理网页中的脚本。

 

由于可能多次向同一个页面中加入脚本,或者需要检查页面中是否已经加入过脚本,ClientScriptManager的许多方法使用了字典集合来进行检查,注册一个脚本内容的时候,需要提供一个字符串类型的资源名称,这个名称可以用来检查是否已经在页面中加入过同样的脚本。

 

从方法的用途可以分为两类,一类用于检查页面中是否已经加入过资源,这一类的方法以IsRegister开头,另一类用于在页面对象中注册脚本资源,这一类的方法以Register开头。

 

根据注册的内容,我们还可以将这些方法分成如下的类别:

 

数组

定义JavaScript.数组,生成一个JavaScript.的数组到页面中。

JavaScript.程序中,可以如下定义数组

 

var arrayName = new Array() {数组的初值};

例如:

var myArray = new Array() { “One”, “Two”, “Three” };

 

publicvoidRegisterArrayDeclaration(

       stringarrayName,

       stringarrayValue

)

 

参数:

arrayName:数组的名字

arrayValue:数组的值,用字符串表示,就是在JavaScript.程序中定义在花括号内的内容

 

脚本块

 

注册脚本块,一般用于将JavaScript.的函数注册到页面中

 

用于判断是否已经注册过指定的脚本块

publicbool IsClientScriptBlockRegistered(

       stringkey

)

 

将脚本块注册到页面中

publicvoidRegisterClientScriptBlock(

       Typetype,

       stringkey,

       stringscript

)

 

启动脚本块

 

注册启动脚本块,一般用于将需要直接执行的JavaScript.语句注册到页面中

 

判断是否已经注册过指定的启动脚本块

publicbool IsStartupScriptRegistered(

       stringkey

)

 

注册启动脚本块

publicvoidRegisterStartupScript(

       Typetype,

       stringkey,

       stringscript

)

 

包含外部的脚本文件

 

判断是否已经注册过指定名称的脚本文件

publicbool IsClientScriptIncludeRegistered(

       stringkey

)

 

注册包含外部的脚本文件

publicvoidRegisterClientScriptInclude(

       stringkey,

       stringurl

)

 

页面元素的属性

 

为页面元素定义新的属性并赋值

publicvoidRegisterExpandoAttribute(

       stringcontrolId,

       stringattributeName,

       stringattributeValue

)

controlId              页面元素的ID

attributeName       新增加的属性名称

attributeValue      属性的值

 

隐藏域

 

在页面中增加隐藏域

publicvoidRegisterHiddenField(

       stringhiddenFieldName,

       stringhiddenFieldInitialValue

)

hiddenFieldName         隐藏域的名字

hiddenFieldInitialValue 隐藏域的值

 

注册当执行表单提交动作时执行的脚本

publicvoidRegisterOnSubmitStatement(

       Typetype,

       stringkey,

       stringscript

)

 

在页面中生成javascript.:__doPostBack(元素ID,参数)的脚本

 

publicstring GetPostBackClientHyperlink(

      Controlcontrol,

       stringargument

)

 

与前面相比,没有javascript.前缀,用于客户端脚本编程中,生成一个用来回发请求道服务器的脚本字符串。

publicstring GetPostBackEventReference(

      Controlcontrol,

       stringargument

)

 

资源

 

生成到编译到程序集中的资源的链接

publicstring GetWebResourceUrl(

       Typetype,

       stringresourceName

)

资源可以是脚本文件,图片文件或者任何其它的静态文件。这个方法常常和下面的RegisterClientScriptResource方法联合使用。

 

注册已经编译到程序集中的JavaScript.资源文件嵌入到页面中

publicvoidRegisterClientScriptResource(

       Typetype,

       stringresourceName

)

 

在程序集中加入资源的方法:

1. 将文件包含在项目中

2. 选择该文件的属性,将“生成操作”属性设为“嵌入的资源”。

3. 注意此资源的名称前面会自动加上默认的命名空间,比如项目的默认命名空间为com.myspace,此文件为jQuery.js,如果此文件加入到项目的根目录,则资源名称为com.myspace.jQuery.js。如果被加入到项目的子文件夹中,还有再加上子文件的名称,例如:如果加入到项目根目录下的Scripts子文件夹中,则资源的名称变为:com.myspace.Scripts.jQuery.js

4. 为程序集标注包含资源的程序集,可以有两种方法:

a)        assembly.cs中,增加一个标签

[assembly.WebResource[“资源名称”, “类型”]

b)       在项目的任何一个cs文件中,在命名空间之外增加

[assembly.WebResource[“资源名称”, “类型”]

 

5. 使用GetWebResourceUrl可以得到基于WebResource.axd的访问路径。


TAG: javascript 微软

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-05  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 67609
  • 日志数: 1924
  • 影音数: 7
  • 文件数: 1
  • 建立时间: 2008-01-04
  • 更新时间: 2008-12-05

RSS订阅

Open Toolbar