与客户端脚本相关的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事件的一部分来执行的,该事件是在页面提交给服务器之前引发的.脚本语句只执行一次,即使它注册了多次(用相同的键)
每个控件都有一个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事件的一部分来执行的,该事件是在页面提交给服务器之前引发的.脚本语句只执行一次,即使它注册了多次(用相同的键)
相关文章推荐
- 可以自己开发icloud客户端啦,有相关API供使用,支持XP,安卓等平台
- 客户端如何调用 Rational CM API 实现 Rational ClearCase 的相关操作
- 客户端如何调用 Rational CM API 实现 Rational ClearCase 的相关操作
- redis实现附近的人,但jedis中没有相关api,那么直接使用lua脚本执行。
- mysql C api相关内容网址
- HBase学习笔记(四)———《客户端API》
- 使用shell脚本自动化安装zabbix客户端
- bat 脚本 相关知识 自用
- 土豆开放API客户端SDK(Java版)-非官方
- vc 获得系统相关路径一个很强悍的API(SHGetSpecialFolderPath) 一个由输入法引起的问题 VK_PROCESSKEY
- db2 client configuration script(db2 客户端配置脚本)
- shell脚本获取系统相关信息
- linx 搭建svn服务器+钩子脚本和安装ftp客户端FileZilla
- 使用客户端脚本
- hBase客户端API-增删改
- 服务器自定义开发二之客户端脚本回发
- 实现通用 Web CAPTCHA 图形验证码 JavaScript 脚本 API 服务 (JavaScript 脚本动态页面引用)
- RunLoop原理以及深度实现,RunLoop相关的部分Foundation API
- ClientScriptManager与ScriptManager向客户端注册脚本的区别
- HDFS相关JAVA API