当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET立即上手教程(2)

ASP.NET
FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用方法
.NET 常用功能和代码小结
在 .NET Framework 2.0 中未处理的异常导致基于 ASP.NET 的应用程序意外退出
asp.net IList查询数据后格式化数据再绑定控件
asp.net sql存储过程
asp.net 简单实现禁用或启用页面中的某一类型的控件
asp.net(c#)获取内容第一张图片地址的函数
The remote procedure call failed and did not execute的解决办法
ASP.NET 在线文件管理
asp.net 读取并修改config文件实现代码
ASP.NET Cookie 操作实现
asp.net Silverlight中的模式窗体
Silverlight中动态获取Web Service地址
asp.net Silverlight应用程序中获取载体aspx页面参数
asp.net 水晶报表隔行换色实现方法
asp.net 获取Gridview隐藏列的值
手动把asp.net的类生成dll文件的方法
asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页
动态指定任意类型的ObjectDataSource对象的查询参数
asp.net Md5的用法小结

ASP.NET立即上手教程(2)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 59 ::
收藏到网摘: n/a

什么是asp.net的Web Forms

Asp.net Web Forms 页面框架是可升级的通用语言运行时刻(CLR)程序模型,用来在服务器端动态生成WEB页面。(美国人说话就是别扭,其实Web Forms就是asp.net编写的页面)

作为ASP的合理演化(ASP.NET对现存的ASP提供语法兼容),ASP.NET Web Forms框架的设计目的,是用来解决ASP模式的不足。它提供:

· 创建和使用可重用的用户界面控件,封装常用的功能,减少页面开发者书写代码的工作量。

· 为开发者提供结构清晰、风格井然的页面逻辑(而不是“意大利面条”的结构)。

· 提供强大的所见即所得(WYSIWYG)的页面开发工具(ASP代码对于工具是不透明的)

本教材的这一部分内容提供高水平的代码,对ASP.NET WEB FORMS的关键功能做一个初步介绍。后续的章节将更深入地剖析ASP.NET WEB FORMS的功能

书写第一个Web Forms页面

ASP.NET Web Forms 页面是以aspx为扩展名的文本文件。他们可以通过IIS虚拟根目录树来进行配置。当浏览器客户端请求.aspx资源的时候,ASP.NET运行时刻库分析和编译目标文件,形成.NET框架类。这个类能够用来动态的处理即将开始的请求。(注意:.aspx文件只有在第一次被访问的时候编译;编译后的结果在以后的请求中被重复利用)。

可以简单的把HTML文件的扩展名改为aspx,从而得到一个asp.net文件(不需要修改任何代码)。例如,下面的例子演示一个HTML页,它收集用户的姓名和分类偏好,然后在按下按钮的时候提交表单。

C# Intro1.aspx

重要提示:注意点击Lookup 按钮的时候什么也不会发生。这是因为.aspx文件仅仅包含静态的HTML(没有任何动态的内容)。因此,同样的HTML将在每一次往返的的时候,返回给客户端,表单的字段内容在提交过程中丢失。

使用ASP的<% %>引用标志

ASP.NET对现有的ASP页面提供语法兼容。这种兼容包括<% %>代码引用块,在.aspx文件中,它可以和HTML内容混合使用。这些代码块在引用的时候从上倒下执行。

下面的例子演示了在HTML块中,如何使用<% %>引用标志来实现循环(依次增大字体尺寸)

C# Intro2.aspx

重要提示:与ASP不同,上面<% %>块中使用的代码是真正编译过的,而不是脚本引擎的解释执行。因此提高了运行时的执行效率。

ASP.NET页面开发者可以利用<% %>代码块动态的修改HTML的输出,就像使用ASP一样。例如,下面的例子演示了如何使用<% %>实现响应客户端提交的结果。

C# Intro3.aspx

重要提示:<% %>代码块提供了一种有力的方法,可以实现从ASP.NET页面定制和操作文本输出,但是,却没有提供结构清晰的程序模式。正如上面的例子,开发者仅仅使用<% %>代码块,就必须在请求发送往返中,自己管理页面状态,自己管理解释后送出的值。

ASP.NET服务器控件介绍

除了使用(或者说作为一种代替)<% %>来编动态内容的程序以外,asp.net页面开发者可以使用ASP.NET 服务器控件来设计WEB页面程序。

在.aspx文件中声明服务器空间的时候,使用asp.net特定的标签或者使用包含 runat="server" 属性的html标签。HTML标签作为控件使用的情况,在名称空间System.Web.UI.HtmlControls中定义。任何不能映射到控件的标签,被赋值为System.Web.UI.HtmlControls.HtmlGenericControl类型。

下面的例子使用了4个服务器控件:<form runat=server>, <asp:textbox runat=server>, <asp:dropdownlist runat=server>, 和 <asp:button runat=server>。在运行时刻,这些服务器控件自动生成HTML内容。

C# Intro4.aspx

重要提示:在传递到服务器端的循环往返(Rount Trips-----我不知道如何准确的翻译这个词汇,他的意思是从客户端提交数据到服务器,然后从服务器返回数据的过程)过程中,这些服务器控件自动保持任何客户端输入的值(它代替了循环往返的时候,表单字段保存在<input type="hidden">中的做法)。另外请注意,ASP.NET中保持数据不需要任何客户端的脚本支持除了支持标准的html输入控件之外,ASP.NET允许开发者在页面中使用更丰富的定制控件。例如,下面的例子演示了如何在页面上使用<asp:adrotator>控件,实现动态轮显广告C# Intro5.aspx