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

ASP.NET
asp.net下用服务器端代码解决浏览器兼容性问题
asp.net 安全的截取指定长度的html或者ubb字符串
asp.net 在线编辑word文档 可保存到服务器
asp.net 提高网站速度及如何利用缓存
asp.net 修改/删除站内目录操作后Session丢失问题
asp.net URL重写简化版 速学URL重写
asp.net EncryptHelper 加密帮助类
asp.net JSONHelper JSON帮助类
C# 调用存储过程简单完整的实例代码
vs2008 安装失败的总结与分享
HttpHandler HttpModule入门篇
ASP.NET(AJAX+JSON)实现对象调用
Asp.net 基于Cookie简易的权限判断
asp.net通过HttpModule自动在Url地址上添加参数
asp.net 字符串、二进制、编码数组转换函数
ASP.NET操作Excel备忘录
记录游客页面访问IP的简易实现代码 (asp.net+txt)
比较简单的将数据信息导入wrod文档方案(C# for word)
增加asp.net应用程序性能的20种方法(简单有效)
ASP.NET 图片防盗链的实现原理分析

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 47 ::
收藏到网摘: 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