Page.ClientScript的几个常用函数

    在做WebGIS二次开发时遇到了许多问题,其中之一就是关于Page.ClientScript下几个函数的理解。上网查询了一些资料,在此进行总结,希望对自己有用。

    Page.ClientScript是获取用于管理脚本、注册脚本和向页添加脚本的ClientScriptManager对象。

    1.Page.ClientScript.GetCallbackEventReference(Control control, string argument,string clientCallbak,string context,string clientErrorCallbak,bool useAsync)

    功能:实现服务器数据回传,局部刷新客户端。

   参数1:指定了服务器端将要处理回调的目标对象,即处理客户端回调的服务器端控件。该控件必须实现 ICallbackEventHandler 接口并提供 RaiseCallbackEvent 方法。    ICallbackEventHandler 提供2个方法,RaiseCallbackEvent(string eventArgument)和GetCallbackResult,用来获取回调参数和返回处理值。如果传入的是this,则表示页面本  身。也可以传入任何实现了ICallbackEventHandler的页面控件(page control)的引用。在任何情况下,客户端的提交动作(submit action)会提交至和标准回传(postback)机制相同的ASPX页面。

   参数2:是一个JavaScript常量表达式,表示页面传给服务器的输入数据。如将一个下拉列表当前选中元素的值传入"document.getElementById['cboEmployees'].value"。

   参数3:是一个用户定义在<script>块中的JavaScript回调(callback)函数名。回调(callback)执行后,此函数最终负责页面的更新。

   参数4:可选参数。可用来指定错误处理函数(error handler)和上下文对象(context object)。

   (参考:http://blog.csdn.net/icepig/article/details/3469858

   参数5和6一般默认为 postBackError和true。相关解释比较少。

    2.Page.ClientScript.RegisterClientScriptBlock(Type type, string key,string script,bool addScriptTags)

    功能: 向响应发出客户端脚本块。使用类型、键、脚本文本和指示是否添加脚本标记的布尔值向 System.Web.UI.Page 对象注册客户端脚本。

    参数1: 要注册的客户端脚本的类型。

    参数2: 要注册的客户端脚本的键。

    参数3: 要注册的客户端脚本文本。

    参数4:  指示是否添加脚本标记的布尔值。

    (举例请参考MSDNhttp://msdn.microsoft.com/zh-cn/library/system.web.ui.page.registerclientscriptblock(VS.90).aspx)

    3.Page.ClientScript.RegisterStartupScript(Type type, string key,string script,bool addScriptTags)

    功能:向响应发出客户端脚本块。使用类型、键、脚本文本和指示是否添加脚本标记的布尔值向 System.Web.UI.Page 对象注册客户端脚本。   

    参数1: 要注册的客户端脚本的类型。

    参数2: 要注册的客户端脚本的键。

    参数3: 要注册的客户端脚本文本。

    参数4:  指示是否添加脚本标记的布尔值。

    要往页面中呈现脚本,我们可以选择RegisterClientScriptBlock()方法或RegisterStartupScript()方法。这两个方法的参数和功能都差不多,不同之处在于它们将代码呈现在页面的不同的地方,前一个方法将客户端代码呈现在页面表单的最前面,也就是这些代码位于所有页面元素之前,这使得脚本最先被浏览器解析;后一个方法将客户端代码呈现在页面表单的最末端,页面解析这些脚本时,页面上的各种元素已经完成解析,这就使得这些脚本可以马上操作页面上的元素。所以我们常用前一个方法呈现一些不会马上执行的代码,比如声明某个按钮的Click 事件处理程序,而用后一个方法呈现页面加载完成后马上执行的代码,比如定义某个变量的初始值,对页面元素进行某种操作。

 (此处参考http://bbs.nbradio.com/blog/index.php/13225/viewspace-10324.html

    需要说明的是,以上API已经过时了,可以用ClientScriptManager类中对应的方法。

 

   

转载于:https://www.cnblogs.com/onmyroad/archive/2011/12/19/2293291.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值