作者:用户0h2eqqbg44 | 来源:互联网 | 2023-10-09 21:52
ASP.NET2.0新功能多,但是常用的也就那几个客户端脚本功能
ASP.NET 2.0 包括许多依赖于浏览器中的客户端脚本的功能。例如,Button 控件的 OnClientClick 属性允许您在此按钮被单击时以编程方式运行客户端脚本。该按钮呈现客户端 onclick 属性以及按钮自身的 Javascript。
C# ClientClick Event
有些情况下,应用程序需要在页回发至服务器后仍保留它在浏览器中的位置。例如,如果数据项导致大型页回发,则最终用户需要将页滚动到此前正在编辑它们的位置,才能继续。页开发人员通过以下方法可以简单地标记窗体,以维持滚动位置:在 @Page 指令中将 MaintainScrollPositionOnPostBack 属性设置为 true,或在 Web.config 中进行此设置,以应用于应用程序中的所有页。
C# Maintain Scroll Position
用于控件的一个令人惊喜的新功能是“客户端回调”,该功能允许控件向服务器执行带外请求以获取附加数据,而不发送整页。此功能依赖于用于回调处理(通常通过 XMLHTTP)的浏览器支持,该支持由 SupportsClientCallbacks 在浏览器功能中指定。
TreeView 控件利用此功能在客户端中展开父节点时按需启用填充树节点。GridView 和 DetailsView 也利用此功能在 EnableSortingAndPagingCallbacks 设置为 true 时实现分页和排序。控件通过实现 ICallbackEventHandler 接口将自身注册为可以接收回调事件。此接口允许页调用已注册的委托,以便向客户端返回回调数据。ICallBackHandler 接口有两种方法:RaiseCallbackEvent 和 GetCallbackResult。RaiseCallbackEvent 接受用于上下文的参数(从客户端传递的参数),该参数可用于处理事件。GetCallbackResult 返回一个字符串,该字符串表示返回给客户端的数据。此接口分为两种方法是为了允许进行异步处理,例如,从数据源控件中检索数据。该控件然后注册一个客户端回调函数(该函数知道如何创建要传递给服务器端委托的参数)和一个错误处理函数(当回调处理出现错误时调用)。最后,该控件将使用 Page.ClientScript.GetCallBackEventReference 发出对回调事件的引用。下面的示例演示如何使用客户端回调来实现级联 DropDownList 方案。在此情况下,页自身将实现 ICallbackEventHandler 接口,以用于演示用途。