ASPNET为Web程序开发提供了新的范例其中包括一系列基于服务器的控件这些控件类似于HTML窗体中诸如文本框按钮等元素使用这些控件的问题是必须调用服务器JavaScript为很多任务提供多种选择的机会而这些过程不需要调用服务器让我们来看结合JavaScript与ASPNET所带来的强大功能
性能是必需的
调用服务器要求带宽和服务器处理时间然而对一个可以享受高速流通的局域网程序将不会有任何问题但是在广域网中就是不同的情况一个因特网用户连接速度的不同主要取决于用户的拨号调制解调器带宽或者电缆调制解调器使用用户型的JavaScript可以不需要调用服务器
传统方法
一个标准的网页窗体包括像标题框正文和窗体在内的页面JavaScript函数按传统方法被放置在网页窗体的标题框这些函数允许被页面的其它部分载入和利用一旦被载入这些函数将从HTML元素中调用
让我们看看一个简单的JavaScript的例子
function valSubmit() {
var doc = documentforms[];
varmsg = ;
if (docfirstNamevalue == ) {
msg += Please enter a first namen;
}
if (doclastNamevalue == ) {
msg += Please enter a last namen;
}
if (msg == ) {
docsubmit();
} else {
alert(The following errors were
encounterednn + msg);
} }
这一函数将检验数据被传送到窗体中的两个HIML区如果其中一个区是空的将显示错误信息并且停止运行如果两个区都有值时窗体被提交你可以使用以下的代码调用这一函数
<input type=button value=submit
name=btnSubmit onClick=valSubmit();>
利用这一关系在HIML区没有数据之前窗体是不会被提交的这样我们可以看到代码变得更加简单但是由于无需调用额外的服务器而不会产生任何副作用JavaScript简短而实用这就意味着窗体不需要额外的载入时间
ASPNET网页窗体允许使用标准的HTML因此你可以容易地使用前面的范例ASPNET用户控件允许你很轻松地调用服务器代码来处理Web窗体庆幸的是用户控件和JavaScript的结合使用完全是可以的我将利用一个ASPNET按钮控件的例子来说明这一使用过程
按钮控件的所有属性提供了将JavaScript连接到控件的方式首先将JavaScript函数放置在ASPNET网页窗体中但是通过添加返回值可以改变放置的方法如果确认通过函数值返回为真与按钮相关的服务器函数就会别调用如果返回值为假则窗体不会被提交
<%@ Page language=c# %>
<!DOCTYPE HTML PUBLIC //WC//DTD HTML Transitional//EN >
<html><head>
<title>WebForm</title>
<script language=javascript>
function valSubmit() {
var doc = documentforms[];
varmsg = ;
if (docfirstNamevalue == ) {
msg += Please enter a first namen;
}
if (doclastNamevalue == ) {
msg += Please enter a last namen;
}
if (msg == ) {
docsubmit();
return true;
} else {
alert(The following errors were encounterednn + msg);
return false;
} }
</script>
<script language=C# runat=server>
private void btnSearch_Click(object sender SystemEventArgs e) {
ResponseWrite(Search);
}
private void Page_Load(object sender SystemEventArgs e) {
btnSubmitAttributesAdd(onClick return valSubmit(););
}
</script></head>
<body>
<form id=frmBuilderTest method=post runat=server>
<label >
First Name:</label>
<input
type=text name=firstName id=firstName>
<label >
Last Name:</label>
<input
type=text name=lastName id=lastName><br /><br />
<asp:Button id=btnSubmit runat=server Text=Submit Width=px
OnClick=btnSearch_Click></asp:Button>
</form></body></html>
这些代码中最为关键的一行是
btnSubmitAttributesAdd(onClick return valSubmit(););
通过风格属性使用CSS可以将元素放置在HIML窗体窗体将JavaScript函数和ASPNET 按钮 (btnSubmit)以及HTML的onClick事件连接起来在窗体被提交给服务器时ASPNET Button 中的onClick属性会通知系统调用哪些函数
如果你是一名VBNET开发人员对于前面代码只需要改变代码中的C#模块VBNET相应的代码如下
<script language=vb runat=server>
Private btnSearch_Click (sender As Object e As SystemEventArgs)
ResponseWrite(Search)
End Sub
Private Page_Load(sender As Object e As SystemEventArgs)
btnSubmitAttributesAdd(onClick return valSubmit();)
End Sub
</script>
功能强大的JavaScript和ASPNET结合
JavaScript是面向用户网页开发的实用标准语言它与ASPNET Web窗体的结合为开发人员提供了一个功能强大的用于构建稳固程序的工具集而程序的稳固性被认为软件性能的一个关键组成部分