|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。 ASP.NET引入了一种新的Web编程办法。关于利用传统编程言语如Visual Basic或C++的人,这类办法是很熟习的。假如你是一个Web法式员只接触过剧本言语的话,不用焦急,这篇文章将使你疾速入门。
作为法式员,咱们不再势必HTML和代码混在一同,不再必从上往下一行一行的写代码了。ASP.NET让代码和体现分隔,利用了事务驱动的编程形式。在这里,咱们将看到ASP.NET中Web Form的根基布局。
ASP.NET的页面是事务驱动和面向对象的。就是说,法式员能为事务供应代码,如按钮的点击,页面的挪用等等。在页面中能被编程会见的每一个标志都有一个runat=server的属性。虽然尺度的HTML控件仍能被利用,但ASP.NET供应了加倍壮大的办事端控件。这些控件供应了一套本人的办法和属性,经由过程它们能充实的定制控件的输入。这些控件和页面一同被编译,它们根据客户端阅读器的版本输入分歧的HTML。这就使得咱们不需求思索阅读器兼容的成绩,一个页面可以在任何的阅读器上运转。
咱们创立一张页面,两个输出框,搜集会见者的名字和最喜好的色彩。别的,咱们但愿了局传回自己,然后在最上方显示一行信息,并保持输出框中的内容。
这是传统的ASP页面
</IMG>
<%@ 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.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>
ASP.NET的一个优点就是复杂。罕见通俗的一些功效不再需求写很多代码。复杂的声明一个办事端控件就能够供应良多功效。
这是ASP.NET中的页面
</IMG>
<%@ 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的办事端控件。咱们可以经由过程ID编程会见这些办事端控件。咱们不再利用Response.Write来输入信息(固然咱们仍是可使用的),咱们经由过程一个办事真个DIV标志来输入信息给用户。
<div id=divResults runat=server />
咱们可以编程改动办事端控件的属性如"innerText"。
Page_Load事务和IsPostBack Method办法
起首,咱们要反省是否是第一次会见。因为这是一个惯例的反省,ASP.NET供应了一个页面的办法:IsPostBack。这个办法当页面是提交时前往真,第一次会见的话前往false。咱们可以在任何的办事器端代码中停止反省。咱们是在Page_Load事务中反省的。
就像我下面说的,每个办事端控件都是一个对象,包含Page。作为一个对象,咱们能会见对象的属性,办法和事务如Page_Load。当页面被挪用时,这个事务就被触发了,事务的代码就被履行了。假如Page.IsPostBack前往真,这是用Div控件的innerText属性输入信息。破例,因为Form中的元素都是办事端控件,咱们可以直接来会见他们的属性而不必利用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>
办理形态
因为咱们一切的元素都是办事端控件了,所以它们的形态都是主动办理的。这类形态办理利用过页面中的一个埋没字段来完成的。
上面是在阅读个中网页的源法式。
<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>
咱们经由过程这类办法来办理形态,不用思索办事器的内存利用,并且因为形态是在一个埋没的字段中,它能在Web Farm或Web Garden中很好的运转。
在这篇文章里,咱们一同看了ASP.NET的Web Form的根基布局。咱们从法式中就可以看到经由过程利用办事端控件能削减很多代码量,能更轻易的掌握输入。
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|