日期:2011-02-14  浏览次数:21042 次

ASP.NET引入了一种新的Web编程方法。对于使用传统编程语言如Visual Basic或C++的人,这种方法是很熟悉的。如果你是一个Web程序员只接触过脚本语言的话,不必着急,这篇文章将使你快速入门。
作为程序员,我们再也不必将HTML和代码混在一起,再也不必从上往下一行一行的写代码了。ASP.NET让代码和表现分开,使用了事件驱动的编程模式。在这里,我们将看到ASP.NET中Web Form的基本结构。
ASP.NET的页面是事件驱动和面向对象的。就是说,程序员能为事件提供代码,如按钮的点击,页面的调用等等。在页面中能被编程访问的每个标记都有一个runat=server的属性。尽管标准的HTML控件仍能被使用,但ASP.NET提供了更加强大的服务端控件。这些控件提供了一套自己的方法和属性,通过它们能充分的定制控件的输出。这些控件和页面一起被编译,它们依据客户端浏览器的版本输出不同的HTML。这就使得我们不需要考虑浏览器兼容的问题,一个页面可以在任何的浏览器上运行。
我们建立一张页面,两个输入框,收集访问者的名字和最喜欢的颜色。另外,我们希望结果传回本身,然后在最上方显示一行信息,并维持输入框中的内容。

这是传统的ASP页面 


<%@ Language=VBScript %>
<html>
<head>
<title>2000081402</title>
</head>
<body>
<form id="sample1" method="post"action="sample1.asp">
<%
If Request.Form.Count <> 0 Then
Response.Write "Your name is "
Response.Write Request.Form("txtName")
Response.Write ", and your favoritecolor is "
Response.Write Request.Form("selColor")
Response.Write "<br>"
End If
%>
<table cellSpacing=0 cellPadding=4 border=0>
<tr>
<td><p align=right>What is yourname:</p></td>
<td><input type="text"name= txtNamevalue="<%=Request.Form("txtName")%>"></td></tr>
<tr>
<td><p align=right>What is yourfavorite color:</p></td>
<td>
<select name=selColor>
<option <%if Request.Form("selColor")= "Black" Then Response.Write "selected"%>>Black</option>
<option <%if Request.Form("selColor")= "Blue" Then Response.Write "selected"%>>Blue</option>
<option <%if Request.Form("selColor")= "Green" Then Response.Write "selected"%>>Green</option>
<option <%if Request.Form("selColor")= "Pink" Then Response.Write "selected"%>>Pink</option>
<option <%if Request.Form("selColor")= "Red" Then Response.Write "selected"%>>Red</option>
</select>
</td></tr>
<tr>
<td> </td>
<td><input type="submit"id=submit value="Submit"></td></tr>
</table>
</form>
</body>
</html> 

我们看到,在这里我们不得不将ASP代码和HTML混在一起,使得代码非常的难以看懂,想象一下如果一个非常复杂的页面……
我们的页面首先判断是否是回传,还是第一次访问。我们通过检查Request.Form集合。如果是0,表示是第一次访问,否则表示提交的按钮被按下了,我们将通过Response.Write输出一条信息给用户。
<%
If Request.Form.Count <> 0 Then
Response.Write "Your name is "
Response.Write Request.Form("txtName")
Response.Write ", and your favoritecolor is "
Response.Write Request.Form("selColor")
Response.Write "<br>"
End If
%> 

对于我们表单中的每个元素,我们必须通过代码来使它们保持状态。这些代码简单而相似。
<td><input type="text"name= txtNamevalue="<%=Request.Form("txtName")%>"></td></tr>
...
<select name=selColor>
<option <%if Request.Form("selColor")= "Black" Then Response.Write "selected"%>>Black</option>
<option <%if Request.Form("selColor")= "Blue" Then Response.Write "selected"%>>Blue</option>
<option <%if Request.Form("selColor")= "Green" Then Response.W