您的位置:首页 > 其它

与客户端脚本相关的API

2007-03-05 20:46 302 查看
现在我们来分析页面框架中的API函数, 这些函数提供了将客户端行为加入服务器控件所需的基本功能.

每个控件都有一个ClientID属性,它是由页面框架产生的,并保证在页面内的所有控件中它是唯一的.在WebControl的默认实现中,ClientID作为HTML的端id attribute 出现在由服务器控件显示的基本标签中.ClientID是UniqueID属性在脚本中使用的版本,在客户端脚本中可以用它来访问由控件显示的HTML元素.

页面暴露的激活客户端脚本显示的方法



RegisterClientScriptBlock void RegisterClientScriptBlock(string key,string script)

使用该方法,可以在页面的顶端发布指定的脚本块.每个脚本块与一个键关联.页面中控件的实例也应该使用该键访问相应的脚本块.这样即使脚本需要注册多次,页面也只需提供一次已注册的脚本.该脚本必须在控件之前给出,这样控件就可以引用在事件处理程序的脚本块中实现的脚本方法来处理客户端事件.该脚本块可以包含嵌入式代码,也可以包含对外部脚本文件的引用

IsClientScriptBlockRegistered bool IsClientScriptBlockRegistered(string key)

检查指定的脚本块是否已经注册.严格地说,不需要调用该方法,因为多次注册同一个脚本块是允许的,就象RegisterClientScriptBlock方法的解释中所说的那样.但是,如果产生用来注册的脚本块花费很大而且消耗时间,那么检查脚本块是否已经注册过就很有用了

RegisterStartupScript void RegisterStartupScript(string key,string script)

和RegisterClientScriptBlock方法的语义相同.但是,该方法不是在页面的顶端给出脚本,而是在页面的底部提供指定的脚本块.这样控件产生的脚本还可以引用控件在页面中提供的标签,这样的引用脚本要求标签必须出现在产生的HTML脚本之前。该方法对于发布文档装载时执行行的行内脚本特别游泳

IsStartupScriptRegistered bool IsStartupScriptRegistered(string key)

和IsClientScriptBlockRegistered方法的语义相同

RegisterArrayDeclaration void RegisterArrayDeclaration(string arrayName,string arrayValue)

使用该方法,控件可以在指定的数组中发布值.页面在客户端脚本中用在arrayName中给出的名字创建一个数组变量,它包含了在同一arrayName注册过的所有值.这样控件的所有实例都可以往这个数组或值的列表中添加值,以后用控件产生的客户端脚本就可以很容易地处理

RegisterHiddenField void RegisterHiddenField(string hiddenFieldName,string initialValue)

使用该方法,控件可以提供一个隐藏域,当页面被提交的时候,通过客户端脚本可以访问该域并将它的值提交给服务器.

RegisterOnSubmitstatement void RegisterOnSubmitStatement(string key,string script)

页面被提交时,该方法用来注册需要执行的指定的脚本语句,这样控件的客户端行为可以参与提交过程。语句是作为<form>标签onsubmit事件的一部分来执行的,该事件是在页面提交给服务器之前引发的.脚本语句只执行一次,即使它注册了多次(用相同的键)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: