結(jié)合JavaScript與ASP.NET Web窗體進行程序開發(fā)
發(fā)表時間:2024-01-24 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]ASP.NET為Web程序開發(fā)提供了新的范例。其中包括一系列基于服務(wù)器的控件,這些控件類似于HTML窗體中諸如文本框、按鈕等元素。使用這些控件的問題是必須調(diào)用服務(wù)器。JavaScript為很多任務(wù)提供多種選擇的機會,而這些過程不需要調(diào)用服務(wù)器。讓我們來看結(jié)合JavaScript與ASP.NET所帶...
ASP.NET為Web程序開發(fā)提供了新的范例。其中包括一系列基于服務(wù)器的控件,這些控件類似于HTML窗體中諸如文本框、按鈕等元素。使用這些控件的問題是必須調(diào)用服務(wù)器。JavaScript為很多任務(wù)提供多種選擇的機會,而這些過程不需要調(diào)用服務(wù)器。讓我們來看結(jié)合JavaScript與ASP.NET所帶來的強大功能。
性能是必需的
調(diào)用服務(wù)器要求帶寬和服務(wù)器處理時間,然而對一個可以享受高速流通的局域網(wǎng)程序?qū)⒉粫腥魏螁栴},但是在廣域網(wǎng)中就是不同的情況。一個因特網(wǎng)用戶連接速度的不同主要取決于用戶的撥號調(diào)制解調(diào)器、帶寬或者電纜調(diào)制解調(diào)器。使用用戶型的JavaScript可以不需要調(diào)用服務(wù)器。
傳統(tǒng)方法
一個標準的網(wǎng)頁窗體包括像標題框、正文和窗體在內(nèi)的頁面。JavaScript函數(shù)按傳統(tǒng)方法被放置在網(wǎng)頁窗體的標題框,這些函數(shù)允許被頁面的其它部分載入和利用,一旦被載入,這些函數(shù)將從HTML元素中調(diào)用。
讓我們看看一個簡單的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();
} else {
alert("The following errors were
encountered.nn" + msg);
} }
這一函數(shù)將檢驗數(shù)據(jù)被傳送到窗體中的兩個HIML區(qū)。如果其中一個區(qū)是空的,將顯示錯誤信息并且停止運行。如果兩個區(qū)都有值時,窗體被提交,你可以使用以下的代碼調(diào)用這一函數(shù):
<input type="button" value="submit"
name="btnSubmit" onClick="valSubmit();">
利用這一關(guān)系,在HIML區(qū)沒有數(shù)據(jù)之前,窗體是不會被提交的。這樣我們可以看到,代碼變得更加簡單,但是由于無需調(diào)用額外的服務(wù)器而不會產(chǎn)生任何副作用。JavaScript簡短而實用,這就意味著窗體不需要額外的載入時間。
ASP.NET網(wǎng)頁窗體允許使用標準的HTML,因此你可以容易地使用前面的范例。ASP.NET用戶控件允許你很輕松地調(diào)用服務(wù)器代碼來處理Web窗體。慶幸的是,用戶控件和JavaScript的結(jié)合使用完全是可以的。我將利用一個ASP.NET按鈕控件的例子來說明這一使用過程。
按鈕控件的所有屬性提供了將JavaScript連接到控件的方式。首先,將JavaScript函數(shù)放置在ASP.NET網(wǎng)頁窗體中,但是通過添加返回值可以改變放置的方法。如果確認通過,函數(shù)值返回為真,與按鈕相關(guān)的服務(wù)器函數(shù)就會別調(diào)用。如果返回值為假,則窗體不會被提交。
<%@ 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) {
Response.Write("Search");
}
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>
這些代碼中最為關(guān)鍵的一行是:
btnSubmit.Attributes.Add("onClick", "return valSubmit();");
通過風(fēng)格屬性使用CSS可以將元素放置在HIML窗體。窗體將JavaScript函數(shù)和ASP.NET 按鈕 (btnSubmit)以及HTML的onClick事件連接起來。在窗體被提交給服務(wù)器時,ASP.NET Button 中的onClick屬性會通知系統(tǒng)調(diào)用哪些函數(shù)。
如果你是一名VB.NET開發(fā)人員,對于前面代碼,只需要改變代碼中的C#模塊。VB.NET相應(yīng)的代碼如下:
<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結(jié)合
JavaScript是面向用戶網(wǎng)頁開發(fā)的實用標準語言,它與ASP.NET Web窗體的結(jié)合,為開發(fā)人員提供了一個功能強大的用于構(gòu)建穩(wěn)固程序的工具集,而程序的穩(wěn)固性被認為軟件性能的一個關(guān)鍵組成部分。
----------------------------------------
作者簡介:Tony Patton是一個應(yīng)用開發(fā)程序員,獲得Java, VB, Lotus和XML證書,知識面廣泛。