ASP.NET 中整合JavaScript技巧
2009-05-12 22:26:17来源:未知 阅读 ()
尽管ASP.NET提供了一个强壮的平台,但是开发者也不应忽视诸如JavaScript这样成熟的技术。在这篇文章中,Tony Patton将向您解释在Web开发中如何将JavaScript与ASP.NET控件进行整合。
尽管Web开发平台提供了灵活性和众多功能,您经常希望或需要依赖现有的技术来完成一项必须的任务,一个好的例子就是ASP.NET,它提供了一个强大的开发平台,但是同时也不应忽略像JavaScript这样成熟的技术,在这篇文章中,我将向您讲解如何将JavaScript代码联结到ASP.NET控件中。
常规方式
通常情况下,当一个Web应用软件需要一个弹出窗口或确认窗口或其它的客户端功能时,您可以创建必需的JavaScript方法,并在需要时调用它们。例如,在列表A中包含了一个确认窗口,用户可以用它来继续或取消表单的提交。
在选择了提交(submit)按钮之后,JavaScript的confirmSubmit方法就被调用了,这一确认提示允许用户继续进行表单提交(选择确认)或取消(选择取消)。
以上代码可以按照计划工作,但是在一个开发平台上工作的时候就没有这么简单了,比如ASP.NET。
ASP.NET的替换选项
ASP.NET支持使用诸如输入按钮和文本框等HTML元素,但是在ASP.NET自己的开发模型上有一套完成的控件元素可以提供额外的功能。
将JavaScript附加到ASP.NET上并不像直接的HTML/JavaScript方式那么简单,ASP.NET编程模式在基本页面类中提供了方法来附加脚本程序块到页面元素当中。以下的方法可以用于附加或整合JavaScript到页面或页面元素中:
RegisterClientScriptBlock:允许您的页面含有脚本程序块,客户端脚本在页面对象form runat= server>元素的起始标签之后开始运行,脚本程序块是作为对象来提交输出的,所以您必需加上两个script>元素标签。
RegisterOnSubmitStatement:允许您指派一个脚本程序块/方法到页面对象OnSubmit事件上。
RegisterStartupScript:允许您在页面中包含脚本程序块,与RegisterClientScriptBlock方法类似,这一方法在页面对象form runat= server>元素的结束标签之前开始运行,脚本程序块是作为对象来提交输出的,所以您必需加上两个script>元素标签。
每个方法都可以接受两个参数:键和脚本,键是分配给脚本程序块的名称,键值应当是唯一的,通过这一唯一的键值,多个服务器控制的实例可以请求脚本程序块,而不必让脚本再次运行输出流;第二个参数脚本包含了发送到客户的实际脚本,它可以是完整的JavaScript代码或一个方法的名称。
这些方法可以使用在实际的ASP.NET页面代码中,无论是VB.NET、C#、J#或任何其它的语言,列表B展示了用C#编写的ASP.NET示例代码。
JavaScript方法是通过一个字符串变量来构建的,它的值传递给RegisterClientScriptBlock方法作为第二个参数,实际的方法名称是通过该对象的Attributes 属性的Add方法来分配给ASP.NET的按钮控件的,JavaScript事件是作为第一个参数传递的,而方法名称则是第二个参数。
而且,你可能会注意到IsStartupScriptRegistered方法的使用,该方法允许您在继续使用前确认该脚本是否已经被注册了,有两个方法可以用于这个问题:
IsStartupScriptRegistered:确认客户端的起始脚本是否已经在页面对象上注册,其单一参数是脚本的名称。
IsClientScriptBlockRegistered:确认客户端的脚本程序块是否已经在页面对象上注册,其唯一的参数是脚本的名称。
另一个解决问题的方法就是使用页面类的RegisterOnSubmitStatement方法,列表C重复了列表B的功能,但是不同之处在于将confirmSubmit方法连接到页面的提交事件上而不是按钮的点击事件上。
这个简单的例子清晰地说明了如何将JavaScript脚本程序块和JavaScript脚本包含到ASP.NET页面的控件上,如果您使用ASP.NET控件,这种方法可以帮助您将脚本联系到这些控件上,但是也可以使用注册(register)方法来集中一个项目的JavaScript。您可以创建一个包含了脚本的类文件并在需要时在页面中使用它们,这样就只需在一个位置对这些脚本进行管理,在一个应用软件中的一个或多个页面上使用这些脚本就会变得更容易。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 深入浅析.NET应用程序SQL注入 2020-02-23
- Asp.Net性能优化的技巧 2019-12-16
- VS初始化命令 ASP.NET常用技巧 2019-09-08
- ASP.NET 设计中的 N 个技巧 2019-06-21
- 用ASP.NET开发Web服务的五则技巧 2019-06-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash