Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网络安全 > 黑客技术 > 从 ASP.NET 服务器控件插入客户端脚本(5)
【标  题】:从 ASP.NET 服务器控件插入客户端脚本(5)
【关键字】:控件,NET,NE,ASP,服务器,服务,ASP.NET,.NET,客户端,脚本,.NET,AS,ASP,NET
【来  源】:网络

从 ASP.NET 服务器控件插入客户端脚本(5)

Your Ad Here 我们只需覆盖一个方法,即 AddAttributesToRender() 。在此方法中,我们只要构建当触发 <input> 元素的 onclick 事件时要执行的客户端 JavaScript,然后通过传入的 HtmlTextWriter 对象的 AddAttribute() 方法添加这段 JavaScript。关于这个方法,有一点要注意,必须将 PopupMessage 属性值中的所有双引号实例替换为转义双引号(即 \" )。另外还要注意,默认情况下, AddAttribute() 会对第二个参数中的字符进行 HTML 编码。也就是说,ASP.NET Web 页面中如果包含 PopupMessage 属性被设置为“Do you want to continue?”(要继续吗?)的 ConfirmButton,该页面将发送以下 HTML 标记:

<input type="submit" name="ConfirmButton1" value="Click Me!" id="ConfirmButton1" onclick="return confirm (&quot;Do you want to continue?&quot;" />

如果您不熟悉 JavaScript 的 confirm( string ) 函数,那么请您注意,该函数只接受一个字符串参数,并显示一个带有特定字符串的模式对话框。该对话框中包含两个按钮:“确定”和“取消”。如果单击“确定”, confirm() 函数返回 True,否则返回 False。请注意, onclick 事件将返回 confirm() 函数调用的结果。当通过单击提交按钮来提交表单时,如果提交按钮的 onclick 事件返回 False,则表单未被提交。因此,只有在用户确认后,可以使用 confirm() 函数提交表单。有关 confirm() 的详细信息,请参阅 ASP Warrior 网站中的 Javascript Confirm Form Submission。

操作中的 ConfirmButton

ConfirmButton 在按钮的 onclick 事件处理程序中使用了内嵌的 JavaScript,还可以在 ConfirmButton 的 OnPreRender() 方法的客户端脚本块中创建一个函数,然后调整 onclick 属性以调用该函数。

_topic6>小结

在本文中,我们探讨了两种通过 ASP.NET 服务器控件插入客户端脚本的方法。第一种方法是使用 Page 类的 RegisterStartupScript() 和 RegisterClientScriptBlock() 方法插入客户端脚本块。第二种方法是向 HTML 元素的属性添加客户端脚本。后者通过覆盖 Web 服务器控件的 AddAttributesToRender() 方法,并使用 HtmlTextWriter 的 AddAttribute() 方法来完成。

我们还在文中介绍了两个简单的服务器控件,它们都利用了客户端脚本来改进其功能。PopupGreeting 控件在页面首次加载时显示一个模式弹出式对话框,ConfirmButton Web 控件在用户单击按钮提交表单时,提示用户进行确认。

您可以在自己的服务器控件中插入客户端脚本,这将显著改善用户体验。本文提供的两个服务器控件相对比较简单,在可用性和独创性上没有什么突出之处。MetaBuilders.com 中展示了很多利用从 ASP.NET 服务器控件中插入客户端脚本而实现的功能,这些功能会给您留下深刻印象。在 MetaBuilders.com,您可以找到一些服务器控件,它们有的可以自动将焦点添加到文本框,有的可以在两个下拉列表之间传递条目,有的可以向下拉列表中添加或删除条目,还有的可以在一系列下拉列表中显示父子关系的数据,等等。最大的好处是,这些控件是免费的,并包括完整的源代码。

祝大家编程快乐!

作者简介

Scott Mitchell 著有五本关于 ASP/ASP.NET 的书籍,是 4GuysFromRolla.com 网站的创始人,过去五年来一直从事 Microsoft Web 技术方面的研究。Scott 是 ASP 和 ASP.NET 社区非常活跃的一名成员,十分热爱 ASP 和 ASP.NET 技术,并非常愿意帮助其他人了解这些令人振奋的技术。有关 DataGrid、DataList 和 Repeater 控件的详细信息,请参阅 Scott 的著作《ASP.NET Data Web Controls Kick Start》(ISBN 为 0672325012)。

推荐链接:

  • MetaBuilders.com 客户端 Web 控件
  • .NET Framework Class Library,Page.RegisterClientScriptBlock Method Technical Documentation
  • .NET Framework Class Library,Page.RegisterStartupScript Method Technical Documentation
  • Visual Studio Magazine,_07/magazine/columns/aspnet/default_pf.asp">Implement Client Scripts
  • ASP.NET Forums 的 Building Controls Forum

perl…TCP反向后门:【上一篇】
从 ASP.NET 服务器控件插入客户端脚本(4):【下一篇】
【相关文章】
  • Win32Asm快速教程(7)
  • Win32Asm快速教程(8)
  • Win32Asm快速教程(9)
  • Win32Asm快速教程(10)
  • Win32Asm快速教程(11)
  • Win32Asm快速教程(12)
  • Win32Asm快速教程(13)
  • Win32Asm快速教程(14)
  • 一个Mysql自动备份脚本
  • asp:我的密码的加密方法(1)
  • 【随机文章】
  • 漫步黄石
  • Flash快捷键大全 王岩岚特别推荐
  • WebSphere快速入门(35)
  • 求助:用outlook发domino系统邮件有时提示:'554 Relay rejected for
  • 关于Java占用内存的研究
  • 对论坛中有关数据类型转换的整理
  • 第二章. 自定义类
  • 深入biztalk消息引用和引用计数
  • 防护服务器安全的七个技巧
  • PXE网络安装实战
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.