您的位置:首页网页设计ASP实例 → 用ASP.NET建立简单的Web Form 

用ASP.NET建立简单的Web Form 

时间:2004/11/7 2:58:00来源:本站整理作者:蓝点我要评论(0)

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 %>





2000081402







<%

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 "
"

End If

%>





What is yourname:



">



What is yourfavorite color:







>Black

>Blue

>Green

>Pink

>Red







 









 



我们看到,在这里我们不得不将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 "
"

End If

%> 



对于我们表单中的每个元素,我们必须通过代码来使它们保持状态。这些代码简单而相似。

">

...



>Black

>Blue

>Green

>Pink

>Red

 



ASP.NET的一个好处就是简单。常见普通的一些功能不再需要写许多代码。简单的声明一个服务端控件就可以提供很多功能。



这是ASP.NET中的页面



<%@ Page Language="vb" %>





2000081402



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

















What is your name:









What is your favoritecolor:























 











 





"runat=server"属性

给普通的HTML元素加上"runat=server"的属性,它就成了ASP.NET的服务端控件。我们可以通过ID编程访问这些服务端控件。我们不再使用Response.Write来输出信息(虽然我们还是可以使用的),我们通过一个服务端的DIV标记来输出信息给用户。

 



我们可以编程改变服务端控件的属性如"innerText"。



Page_Load事件和IsPostBack Method方法

首先,我们要检查是不是第一次访问。由于这是一个常规的检查,ASP.NET提供了一个页面的方法:IsPostBack。这个方法当页面是提交时返回真,第一次访问的话返回false。我们可以在任何的服务器端代码中进行检查。我们是在Page_Load事件中检查的。

就像我上面说的,每一个服务端控件都是一个对象,包括Page。作为一个对象,我们能访问对象的属性,方法和事件如Page_Load。当页面被调用时,这个事件就被触发了,事件的代码就被执行了。如果Page.IsPostBack返回真,这是用Div控件的innerText属性输出信息。例外,由于Form中的元素都是服务端控件,我们可以直接来访问他们的属性而不用使用Request.Form。我们可以通过控件的ID来访问Value这个属性来得到值。



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

 



管理状态

由于我们所有的元素都是服务端控件了,所以它们的状态都是自动管理的。这种状态管理使用过页面中的一个隐藏字段来完成的。

下面是在浏览其中网页的源程序。





2000081402









Yourname is Doug Seven, and your favorite coloris Green







What is your name:









What is your favoritecolor:







Black

Blue

Green

Pink

Red

















 



我们通过这种方法来管理状态,不必考虑服务器的内存使用,而且由于状态是在一个隐藏的字段中,它能在Web Farm或Web Garden中很好的运行。

在这篇文章里,我们一起看了ASP.NET的Web Form的基本结构。我们从程序中就能看到通过使用服务端控件能减少许多代码量,能更容易的控制输出。






相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 迅雷新手完全入门手册 asp下面javascript上传图片限制格式大小方法告诉大家网页弹出窗口应用总结ASP常见错误类型大全asp常见错误分析和解决办法

人气排行 总是弹出visual studio 实时调试器 三种解决SQLSERVER存储过程及调用详解Asp获取真实IP地址ASP中连接Mssql的几种方法一个简单好用的UBB编辑器(含代码)如何用Split将字符串转换为数组并获取数组下ASP防止表单重复提交的办法告诉你免费的简单聊天室源代码