2007-10-09

在ASP.NET页面上轻松整合JavaScript

来源: 开发者在线 作者:Tony Patton 评论 0 条
 

尽管ASP.NET提供了一个强壮的平台,但是开发者也不应忽视诸如JavaScript这样成熟的技术。在这篇文章中,Tony Patton将向您解释在Web开发中如何将JavaScript与ASP.NET控件进行整合。

尽管Web开发平台提供了灵活性和众多功能,您经常希望或需要依靠现有的技术来完成一项必须的任务,一个好的例子就是ASP.NET,它提供了一个强大的开发平台,但是同时也不应忽略像JavaScript这样成熟的技术,在这篇文章中,我将向您讲解如何将JavaScript代码联结到ASP.NET控件中。

常规方式

通常情况下,当一个Web应用软件需要一个弹出窗口或确认窗口或其它的客户端功能时,您可以创建必需的JavaScript方法,并在需要时调用它们。例如,在列表A中包含了一个确认窗口,用户可以用它来继续或取消表单的提交。

<html><head>

<title>TechRepublic.com Test</title>
<script language="JavaScript">
function confirmSubmit() {
varval = confirm('Are you sure you want to submit?');
if (val) {
document.frmTest.submit();
} else {
// Do something else
} }
</script></head>
<body>
<form name="frmTest" id="frmTest" method="post" action="some_file">
<input type="text" id="txtName" name="txtName" />
<input type="button" id="btnSubmit" onClick="confirmSubmit();" value="Submit" />
</form>
</body>
</html>

在选择了提交(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示例代码。
共3页: 上一页 1 [2] [3] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:用ASP创建数据库前端  
下一篇:ASP.Net缓存系统几点提示
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号