您的位置:建站学院首页 >> 文章 >> asp.net >> Asp.Net开发
将JavaScript事件绑定到ASP.NET对象
  ASP.NET框架具有强大的功能和不错的灵活性。你可创建服务器端代码来完成任何类型的任务,但在许多任务中,仍然只有客户端javascript才最方便。在ASP.NET Web窗体中添加javascript类似于把它添加到其他任何类型的网页中。但是,将代码绑定到ASP.NET窗体元素时,却需要一定的技巧。
为什么要使用javascript?

客户端javascript的优点在其他许多文章中都有详尽的论述。其实最主要的优点就是性能。虽然能用C#或VB.NET来开发相同的功能,但这要求和服务器建立一次额外的往返行程,所以必然损失一定的性能。相反,javascript代码和网页一起下载,并由浏览器负责执行,不会牵涉到多余的服务器调用。我们经常用这种技术进行字段验证、确认对话框以及打开其他窗口。

下面将讲解如何将javascript包括到一个标准的网页中。然后,我们准备采取一些额外的步骤,让javascript能够与ASP.NET Web窗体良好地协作。

传统Web窗体

普通网页含有各种标准化的区域,比如head和body。通常,javascript函数要放到网页的head部分,使其在body之前加载。等body加载之后,立即就能使用它们。对函数的调用可在body的各个HTML元素中进行。例如以下javascript函数:

function confirmSubmit() {
var doc = document.forms[0];
var msg = "Are you sure you want to submit this data?";
if (confirm(msg)) {
doc.submit();
} else {
// do nothing
} }
 
该函数的作用十分简单:它要求用户确认是否想提交文档。如果在确认对话框中单击Yes,就提交文档;否则什么事情都不发生。该函数可轻松地绑定到一个HTML提交按钮:
 
<input type=”button” value=”submit” name=”butSubmit” onClick=”confirmSubmit();”>
 
用户单击提交按钮后,会出现如A所示的消息。

示范javascript确认对话框

虽然上述javascript非常简单,但你随时都可对其进行增强,以实现任何需要的逻辑。由于它避免了对服务器的额外调用,所以有助于提升性能。但是,在ASP.NET Web窗体中添加这种类型的功能时,却不如在普通Web窗体中添加时直观。

首先,函数要添加到窗体的head部分(参见B)。之后,必须从一个ASP.NET控件中调用它。图B展示了按钮声明。

示范ASP.NET Web窗体
最关键的一步就是将ASP.NET按钮绑定到javascript函数。这需要使用ASP.NET按钮UserControl对象的Attributes属性。Attributes属性提供了一个Add方法,允许为按钮添加事件。为此需要使用以下VB.NET代码:
butSubmit.Attributes.Add("onClick", "return confirmSubmit();")
 
图C展示了Visual Studio .NET环境中的VB.NET代码。

为按钮添加函数
Google
 
Web www.cqxw.net