国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

用ASP.NET建立簡單的Web Form 

2019-11-18 20:29:54
字體:
供稿:網(wǎng)友
asp.net引入了一種新的Web編程方法。對于使用傳統(tǒng)編程語言如Visual Basic或C++的人,這種方法是很熟悉的。如果你是一個Web程序員只接觸過腳本語言的話,不必著急,這篇文章將使你快速入門。
作為程序員,我們再也不必將HTML和代碼混在一起,再也不必從上往下一行一行的寫代碼了。ASP.NET讓代碼和表現(xiàn)分開,使用了事件驅(qū)動的編程模式。在這里,我們將看到ASP.NET中Web Form的基本結(jié)構(gòu)。
ASP.NET的頁面是事件驅(qū)動和面向?qū)ο蟮摹>褪钦f,程序員能為事件提供代碼,如按鈕的點(diǎn)擊,頁面的調(diào)用等等。在頁面中能被編程訪問的每個標(biāo)記都有一個runat=server的屬性。盡管標(biāo)準(zhǔn)的HTML控件仍能被使用,但ASP.NET提供了更加強(qiáng)大的服務(wù)端控件。這些控件提供了一套自己的方法和屬性,通過它們能充分的定制控件的輸出。這些控件和頁面一起被編譯,它們依據(jù)客戶端瀏覽器的版本輸出不同的HTML。這就使得我們不需要考慮瀏覽器兼容的問題,一個頁面可以在任何的瀏覽器上運(yùn)行。
我們建立一張頁面,兩個輸入框,收集訪問者的名字和最喜歡的顏色。另外,我們希望結(jié)果傳回本身,然后在最上方顯示一行信息,并維持輸入框中的內(nèi)容。

這是傳統(tǒng)的ASP頁面 


<%@ Language=VBScr</select> 

ASP.NET的一個好處就是簡單。常見普通的一些功能不再需要寫許多代碼。簡單的聲明一個服務(wù)端控件就可以提供很多功能。

這是ASP.NET中的頁面

<%@ Page Language="vb" %>
<html>
<head>
<title>2000081402</title>
<script language="vb" runat=server>
Sub Page_Load(Source As Object,E AsEventArgs)
If Page.IsPostBack Then
divResults.innerText = "Your name is" & txtName.Value & _
", and your favorite color is "& selColor.Value
End If
End Sub
</script>
</head>
<body>
<form id="sample1" method="post"runat=server>
<div id=divResults runat=server />
<table cellSpacing=0 cellPadding=4 border=0>
<tr>
<td>
<p align=right>What is your name:</p></td>
<td><input type="text"id=txtName runat=server /></td></tr>
<tr>
<td>
<p align=right>What is your favoritecolor:</p></td>
<td>
<select id=selColor runat=server>
<option>Black</option>
<option>Blue</option>
<option>Green</option>
<option>Pink</option>
<option>Red</option>
</select>
</td></tr>
<tr>
<td> </td><td>
<input type="submit" id=submitvalue="Submit" runat=server/>
</td></tr>
</table>
</form>
</body>
</html> 


"runat=server"屬性
給普通的HTML元素加上"runat=server"的屬性,它就成了ASP.NET的服務(wù)端控件。我們可以通過ID編程訪問這些服務(wù)端控件。我們不再使用Response.Write來輸出信息(雖然我們還是可以使用的),我們通過一個服務(wù)端的DIV標(biāo)記來輸出信息給用戶。
<div id=divResults runat=server /> 

我們可以編程改變服務(wù)端控件的屬性如"innerText"。

Page_Load事件和IsPostBack Method方法
首先,我們要檢查是不是第一次訪問。由于這是一個常規(guī)的檢查,ASP.NET提供了一個頁面的方法:IsPostBack。這個方法當(dāng)頁面是提交時返回真,第一次訪問的話返回false。我們可以在任何的服務(wù)器端代碼中進(jìn)行檢查。我們是在Page_Load事件中檢查的。
就像我上面說的,每一個服務(wù)端控件都是一個對象,包括Page。作為一個對象,我們能訪問對象的屬性,方法和事件如Page_Load。當(dāng)頁面被調(diào)用時,這個事件就被觸發(fā)了,事件的代碼就被執(zhí)行了。如果Page.IsPostBack返回真,這是用Div控件的innerText屬性輸出信息。例外,由于Form中的元素都是服務(wù)端控件,我們可以直接來訪問他們的屬性而不用使用Request.Form。我們可以通過控件的ID來訪問Value這個屬性來得到值。
<script language="vb" runat=server>
Sub Page_Load(Source As Object,E AsEventArgs)
If Page.IsPostBack Then
divResults.innerText = "Your name is" & txtName.Value & _
", and your favorite color is "& selColor.Value
End If
End Sub
</script> 

管理狀態(tài)
由于我們所有的元素都是服務(wù)端控件了,所以它們的狀態(tài)都是自動管理的。這種狀態(tài)管理使用過頁面中的一個隱藏字段來完成的。
下面是在瀏覽其中網(wǎng)頁的源程序。
<html>
<head>
<title>2000081402</title>
</head>
<body>
<FORM name="sample1" method="post"action="sample1.aspx" id="sample1">
<INPUT type="hidden" name="__VIEWSTATE"value="a0z1019323966_a0z_hz5z2x_a0z_hz5z1x_a0zhzinnerhtml_Yourname is Doug Seven, and your favorite coloris Greenx_xxxxx_x">
<div id="strResults">Yourname is Doug Seven, and your favorite coloris Green</div>
<table cellSpacing=0 cellPadding=4 border=0>
<tr>
<td>
<p align=right>What is your name:</p></td>
<td><INPUT value="Doug Seven"name="txtName" id="txtName"type="text"></td></tr>
<tr>
<td>
<p align=right>What is your favoritecolor:</p></td>
<td>
<SELECT name="selColor" id="selColor">
<OPTION value="Black">Black</OPTION>
<OPTION value="Blue">Blue</OPTION>
<OPTION selected value="Green">Green</OPTION>
<OPTION value="Pink">Pink</OPTION>
<OPTION value="Red">Red</OPTION>
</SELECT>
</td></tr>
<tr>
<td></td>
<td><INPUT name="submit"id="submit" type="submit"value="Submit"></td></tr>
</table>
</FORM>
</body>
</html> 

我們通過這種方法來管理狀態(tài),不必考慮服務(wù)器的內(nèi)存使用,而且由于狀態(tài)是在一個隱藏的字段中,它能在Web Farm或Web Garden中很好的運(yùn)行。
在這篇文章里,我們一起看了ASP.NET的Web Form的基本結(jié)構(gòu)。我們從程序中就能看到通過使用服務(wù)端控件能減少許多代碼量,能更容易的控制輸出。



發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 家居| 杭州市| 察隅县| 桂平市| 沙雅县| 高雄市| 汕尾市| 寿光市| 论坛| 随州市| 交口县| 娄底市| 田东县| 都江堰市| 西峡县| 金阳县| 登封市| 厦门市| 土默特右旗| 富源县| 蒙山县| 甘南县| 玉门市| 重庆市| 稻城县| 宁海县| 金堂县| 霸州市| 枣庄市| 盐亭县| 页游| 阳泉市| 桦南县| 尤溪县| 黎城县| 思茅市| 高唐县| 东阿县| 都江堰市| 平湖市| 德安县|