结合JavaScript与ASP.NET Web窗体进行程序开发

结合JavaScript与ASP.NET Web窗体进行程序开发
作者: Tony Patton

2005-07-11 12:0 PM

ASP.NET为Web程序开发提供了新的范例。其中包括一系列基于服务器的控件,这些控件类似于HTML窗体中诸如文本框、按钮等元素。使用这些控件的问题是必须调用服务器。JavaScript为很多任务提供多种选择的机会,而这些过程不需要调用服务器。让我们来看一下结合JavaScript与ASP.NET所带来的强大功能。

性能是必需的

<a target="_blank" href="/goto.do?uu=aHR0cDovL2FkLmNuLmRvdWJsZWNsaWNrLm5ldC9jbGljayUzQmg9djUlN0MzMzBkJTdDMyU3QzAlN0MlMmElN0N2JTNCMjIwODUwNjIlM0IwLTAlM0IwJTNCMTA3Njg5MDYlM0IzMS0xJTdDMSUzQjEyNTYzMDkxJTdDMTI1ODA5ODclN0MxJTNCJTNCJTdFc3NjcyUzRCUzZmh0dHAlM2ElMmYlMmZ3d3cuc2l0ZS5jb20=" ></a>

调用服务器要求带宽和服务器处理时间,这对于一个可以享受高速连接的局域网程序可能不会有任何问题,但是在广域网中情况就不同了。一个因特网用户连接速度的不同主要取决于用户的拨号调制解调器、带宽或者电缆调制解调器。使用在客户端运行的JavaScript就可以不调用服务器了。

传统的方法

一个标准的网页窗体包括像标题框、正文和窗体在内的页面。JavaScript函数按传统方法被放置在网页窗体的标题框,这些函数允许被页面的其它部分载入和利用,一旦被载入,这些函数将从HTML元素中被调用。

让我们看看一个简单的JavaScript的例子:

function valSubmit() {

var doc = document.forms[0];

var msg = "";

if (doc.firstName.value == "") {

msg += "- Please enter a first name.\n";

}

if (doc.lastName.value == "") {

msg += "- Please enter a last name.\n";

}

if (msg == "") {

doc.submit();

} else {

alert("The following errors were encountered.\n\n" + msg);

} }

这一函数将检验数值是否被传送到窗体中的两个HIML区。如果其中一个区是空的,将显示错误信息并且停止运行。如果两个区都有值时,窗体被提交,你可以使用以下的代码调用这一函数:

利用这一关系,在HIML区没有数据之前,窗体是不会被提交的。这样我们可以看到,代码变得更加简单,但是由于无需调用额外的服务器也就不会产生任何副作用。JavaScript简短而实用,这就意味着窗体不需要额外的载入时间。

连接JavaScript 与ASP.NET

ASP.NET网页窗体允许使用标准的HTML,因此你可以很容易地使用前面的范例。ASP.NET用户控件允许你很轻松地调用服务器代码来处理Web窗体。值得庆幸的是,用户控件和JavaScript的结合使用是完全可行的。我将利用一个ASP.NET按钮控件的例子来说明这一使用过程。

按钮控件的所有属性提供了将JavaScript连接到控件的方式。首先,将JavaScript函数放置在ASP.NET网页窗体中,不过你可以通过添加返回值来改变放置的方法。如果确认通过,函数值返回为真,与按钮相关的服务器函数就会被调用。如果返回值为假,则窗体不会被提交。

<%@ Page language="c#" %>

type="text" name="firstName" >

这些代码中最为关键的一行是:

btnSubmit.Attributes.Add("onClick", "return valSubmit();");

通过风格属性使用CSS可以将元素放置在HIML窗体中。窗体将JavaScript函数和ASP.NET 按钮 (btnSubmit)以及HTML的onClick事件连接起来。在窗体被提交给服务器时,ASP.NET Button 中的onClick属性会通知系统调用哪些函数。

如果你是一名VB.NET开发人员,对于前面的代码,只需要改变代码中的C#模块就行了。VB.NET相应的代码如下:

功能强大的结合

JavaScript是面向用户网页开发的实用标准语言,它与ASP.NET Web窗体的结合,为开发人员提供了一个功能强大的用于构建稳固程序的工具集,而程序的稳固性被认为是软件性能的一个关键组成部分。