用ASP.NET客户端脚本来避免冗余的server调用

ZDNet软件频道 时间:2003-08-26 作者:ZDNet China |  我要评论()
本文关键词:
你可能会在某些时候需要执行客户端的JavaScript,并且根据代码执行结果来把表单递交给服务器。这样你就可以避免不必要的server调用。
本文译自Builder.com,未经许可请勿转载你可以在.NET代码中响应.NET Web server按钮控件的点击事件,当你需要访问服务器端资源(如数据库)时,这个功能就显得非常重要。然而,你可能会在某些时候需要执行客户端的JavaScript,并且根据代码执行结果来把表单(postback事件,即回发事件)递交给服务器。这样你就可以避免不必要的server调用。

我们在本文所引入的例子很简单:向用户提供一个允许他(她)修改或者删除特定雇员信息的页面。当用户点击“删除”按钮时,将会出现一个用来确认删除的弹出式对话框。如果用户选择“确定”,那么按钮的服务器端点击事件就会执行。如果用户选择“取消”,那么就不会触发该事件。

JavaScript

你可以用好几种方法来创建客户端的JavaScript。最简单的方法或许就是把JavaScript嵌入到ASPX文件。然而,你可能会希望在运行时动态创建JavaScript。你可以用ASP.NET页面的RegisterClientScriptBlock方法来实现这一点。这个方法允许你传递两个参数:关键字(key)和脚本(script)。

第一个参数key是一个字符串,它唯一对应于一个脚本块。一旦你添加了一个脚本块,你就无需再次添加它。另一个叫着IsClientScriptBlockRegistered的方法用于检验对应于特定key值的脚本块是否已经添加了,用这个方法可以避免多次添加同一个脚本块。

第二个参数script是一个包含了客户端JavaScript的字符串。你所创建的函数最好返回一个布尔值,这很重要,因为服务器控件用这个值来判断它是否应该发出一个回发事件。

 下面的脚本一般放到ASP.NET页面的载入事件句柄中。它是一个JavaScript块,包含了显示用户确认弹出式对话框的函数。请注意确认对话框包含了“确认”和“取消”两个按钮控件,这与警告对话框不同。还要注意整个JavaScript代码是动态构建的。允许用户修改或者删除页面上特定雇员信息的代码可能会有用。页面载入事件应该已经知道显示的究竟是哪个雇员的信息,这样删除确认对话框就可以包含该雇员的姓名。代码如下:


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134