结合使用ASP.NET Web窗体和JavaScript

开发者在线 Builder.com.cn 更新时间:2004-10-14作者:Builder.com 来源:

结合使用JavaScript和ASP.NET

ASP.NET网页窗体允许使用标准的HTML,因此你可以容易地使用前面的例子,但是这里没有ASP.NET提供的功能。ASP.NET用户控件允许你很轻松地把服务器代码调到网页窗体中处理。庆幸的是,结合用户控制器和JavaScript可以实现了这一功能。我用一个ASP.NET按钮控件的例子来说明这种使用方法。

按钮控件的所有性能提供了一种把JavaScript连接到控件的方法。首先,把JavaScript函数导入ASP.NET网页窗体中,但是这种改变需要用特殊的方法:添加一个返回值。如果确认通过,函数值为真,这是一个窗体可以被提交给服务器的信号。提交给服务器的信号用按钮输入。如果返回值为假的信号函数,则窗体不被提交。

<%@ Page language="c#" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html><head>
<title>WebForm1</title>
<script language="javascript">
function valSubmit() {
var doc = document.forms[0];
varmsg = "";
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();
return true;
} else {
alert("The following errors were encountered.nn" + msg);
return false;
} }
</script>
<script language="C#" runat="server">
private void btnSearch_Click(object sender, System.EventArgs e)
private void Page_Load(object sender, System.EventArgs e) {
btnSubmit.Attributes.Add("onClick", "return valSubmit();");
}
</script></head>
<body>
<form id="frmBuilderTest" method="post" runat="server">
<label style="Z-INDEX: 101; LEFT: 10px; POSITION: absolute; TOP: 48px">
First Name:</label>
<input style="Z-INDEX: 102; LEFT: 88px; POSITION: absolute; TOP: 48px"
type="text" name="firstName" id="firstName">
<label style="Z-INDEX: 103; LEFT: 10px; POSITION: absolute; TOP: 88px">
Last Name:</label>
<input style="Z-INDEX: 104; LEFT: 88px; POSITION: absolute; TOP: 88px"
type="text" name="lastName" id="lastName"><br /><br />
<asp:Button id="btnSubmit" style="Z-INDEX: 105; LEFT: 64px; POSITION: absolute;
TOP: 128px" runat="server" Text="Submit" Width="136px"
OnClick="btnSearch_Click"></asp:Button>
</form></body></html>

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

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

根据元素类型属性,这些元素通过CSS被导入到HIML窗体。窗体将JavaScript函数和ASP.NET Button (btnSubmit)以及HTML的onClick事件连接起来。ASP.NET Button 事件中的onClick属性告诉系统,当窗体被提交给服务器时,调用哪些函数。

如果你是一名VB.NET开发人员,先前的代码只需要改变代码中的C#版块。VB.NET版本中的代码如下:

<script language="vb" runat="server">
Private btnSearch_Click (sender As Object, e As System.EventArgs)
Response.Write("Search")
End Sub
Private Page_Load(sender As Object, e As System.EventArgs)
btnSubmit.Attributes.Add("onClick", "return valSubmit();")
End Sub
</script>

 

一种强有力的结合

JavaScript是用户端网页开发的标准,它与ASP.NET网页窗体的结合,为开发人员提供了强大可构建稳健的工具。

 


本文作者:Tony Patton以一个程序开发人员开始他的职业生涯,他的工作领域包括Java,VB,Lotus和XML认证。


责任编辑:李宁

欢迎评论投稿

用户评论

  • 用户名
  • 评论内容