仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1384|回复: 19
打印 上一主题 下一主题

[学习教程] ASP网页设计用ASP.NET创立复杂的Web Form

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:32:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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的根基布局。咱们从法式中就可以看到经由过程利用办事端控件能削减很多代码量,能更轻易的掌握输入。

缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。
活着的死人 该用户已被删除
沙发
 楼主| 发表于 2015-2-4 01:42:29 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
变相怪杰 该用户已被删除
板凳
发表于 2015-2-6 07:34:52 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
飘飘悠悠 该用户已被删除
地板
发表于 2015-2-15 15:58:10 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
小妖女 该用户已被删除
5#
发表于 2015-2-24 14:11:59 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
admin 该用户已被删除
6#
发表于 2015-3-1 13:40:15 | 只看该作者
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
7#
发表于 2015-3-9 18:40:10 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
莫相离 该用户已被删除
8#
发表于 2015-3-12 07:52:27 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
因胸联盟 该用户已被删除
9#
发表于 2015-3-17 07:10:13 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
海妖 该用户已被删除
10#
发表于 2015-3-17 09:09:38 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
若天明 该用户已被删除
11#
发表于 2015-3-30 00:59:17 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
蒙在股里 该用户已被删除
12#
发表于 2015-4-7 03:44:25 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
小女巫 该用户已被删除
13#
发表于 2015-4-10 10:06:53 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
柔情似水 该用户已被删除
14#
发表于 2015-4-10 23:20:23 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
深爱那片海 该用户已被删除
15#
发表于 2015-4-11 14:20:32 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
简单生活 该用户已被删除
16#
发表于 2015-4-15 11:25:53 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
灵魂腐蚀 该用户已被删除
17#
发表于 2015-4-22 07:18:46 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
小魔女 该用户已被删除
18#
发表于 2015-4-26 13:12:43 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
乐观 该用户已被删除
19#
发表于 2015-4-26 17:09:31 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
兰色精灵 该用户已被删除
20#
发表于 2015-5-6 01:09:08 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表