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

处理服务器控件事件

每一个asp.net服务器控件都具有对象模型的特点,包含属性、方法和事件。Asp.net开发者可以使用这个对象模型来动态修改页面,以及与页面交互。

下面的例子演示了asp.net页面开发者如何通过处理<asp:button runat=server>控件的OnClick事件,来操纵<asp:label runat=server> 控件的Text 属性。

这个简单的例子在功能上等于前面介绍的"Intro3" 例子。然而,你却可以发现基于服务器控件的这个版本是多么的简单而清晰!

使用自定义的服务器端控件

ASP.NET提供了45个内置的服务器控件以供使用 (详细内容参阅 Web Forms 控件参考)。除了使用内置的ASP.NET 控件以外,开发者也可以使用第三方提供的控件。

下面的例子展示了一个简单的日历控件(Calenda)。这个控件在页面中使用<acme:calendar runat=server>标签来声明。请注意在页面顶端的<% Register %>使用TagPrefix注册"Acme",使用Namespace说明执行控件的名称空间。Asp.net页面分析器将在运行时刻使用这个名称空间来装载Calendar控间类的实例。

在这个例子中,日历控件被设计为在Internet Explorer 5.5以上版本中执行“高级运行”,在其他浏览器上执行“低级运行”。在asp.net提供的内置服务器控件中,都可以实现这种对浏览器版本的监测。对于IE5.5以上版本,他生成DHTML输出。DHTML输出不要求服务器与客户端的循环往复。对于其他版本的浏览器,这个控件生成标准的HTML3.2文档。在交互的时候,需要客户端和服务器端的循环往复。

重要提示:页面设计者在编写代码的时候,不需要考虑浏览器在访问页面的时候,是“高级运行”还是“低级运行”。Calendar 控件自己封装了处理不同浏览器请求的能力。

列表、数据、和数据绑定

ASP.NET内置了一套数据表格和列表的控件,可以提供自定义的用户接口驱动,来实现对数据库或其它数据源的请求。例如,下面的例子演示了<asp:datagrid runat=server>控件如何使用SQL数据库查询语言来实现对BOOK信息集合的数据绑定。

<asp:datagrid runat=server> DataGrid控件使用传统的表格接口,提供了一种简单而快速的显示数据结果的途径。此外,ASP.NET开发者也可以使用<asp:DataList runat=server> DataList控件以及自定义的ItemTemplate模板来定制数据的显示方式。

注意到<asp:datalist runat=server>控件允许最终用户精确的控制列表中每一个项目的结构和外观显示(使用ItemTemplate模板属性)。该控件同时自动的处理两列之间内容的换行(用户可以通过它的RepeatColumns属性来控制列的数目)

下面的例子提供了一种<asp:datalist runat=server>控件隔行交替显示的样子。

注意这里的控件、数据模型和页面用户都与前一个例子相同。差别在于,本例在代码中声明了其他的模板。

表单验证控件
ASP.NET Web Forms 页框架提供了一套服务器验证控件,它容易使用而功能强大,用来检查客户端表单输入的错误,并且(如果必要的话)可以向用户显示提示信息。
在页面中增加服务器验证控件就像使用其他服务器控件一样。不同的验证情况有不同的验证控件,例如输入范围检查或者模式匹配等等。使用RequiredFieldValidator验证控件可以确保用户不会跳过一个应该输入数据的字段。
下面的例子演示了如何在页面中使用<asp:requiredfieldvalidator runat=server> 控件来验证TextBox 和 DropDownList 控件的内容。
C# Intro11.aspx
[运行] | [源代码]

注意验证控件也提供了“高级运行”和“低级运行”支持。高版本浏览器模式在服务器端和客户端执行(使用JAVA脚本和DHTML),低板本浏览器模式仅仅在服务器端执行验证。两种情况下的程序模式是一样的。

注意,ASP.NET页面开发者可以在运行时可随时检查Page.IsValid属性,来确定是否该页面的所有验证控件都通过。这就提供了是否进行商务逻辑处理的一个简单的方法。例如,下面的例子对特定分类执行数据库查询的时候,首先执行Page.IsValid检查。

Web Forms代码分离

ASP.NET支持两种创作动态页面的方法。第一种是如前面的例子中演示的那样,页面代码在同一个.aspx文件中声明。另一个方法----人们熟知的代码分离,可以让页面代码更加整洁,把程序代码从HTML内容中分离出来,成为一个完整的单独的文件。

下面的例子演示了利用代码分离技术编写ASP.NET页面

本章小结

1. ASP.NET提供了一种简单而功能强大的方法,来建立动态WEB用户接口

2. ASP.NET Web Forms 页可以自动适应任何浏览器客户(不需要脚本库或者COOKIE的支持)

3. ASP.NET Web Forms 页提供与现有ASP页面的语法兼容

4. ASP.NET 服务器控件提供了封装常用功能的简易方法。

5. ASP.NET 提供了45个内置的服务器控件.开发者也可以使用第三方提供的控件。

6. ASP.NET 服务器控件能够自动设计高级动态模式和低级浏览器HTML模式

7. ASP.NET 模板可以轻松的定制列表服务器控件的外观,从而定制页面数据显示的外观。

8. ASP.NET 验证控件可以方便的进行客户端或服务器端数据的验证

时间: 2024-11-17 18:17:00

ASP.NET立即上手教程(3)的相关文章

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

一.开始 1.介绍 欢迎光临ASP.NET立即上手教程. ASP.NET立即上手教程是由一系列实例和支持解说构成的,他的目的是为了让开发者快速理解ASP.NET的语法.框架以及ASP.NET网络应用程序框架的强大功能.所有的实例设计的短小而容易理解,可以充分展示ASP.NET的相应功能.在学习完本教程以后,你应该熟悉以下内容: ·ASP.NET语法.当然,对于熟练的ASP开发者,有些ASP.NET语法元素会很熟悉,而有些却是新框架所独有的.本教程的实例覆盖了所有语法元素的细节. ·ASP.NET

ASP.NET立即上手教程 10

asp.net|教程 在SQL数据库中更新数据在web应用程序中更新数据库常常是一件棘手的事情.DataGrid控件提供了一些内建的支持,使得更新数据库变得容易.要想编辑行记录,DataGrid支持一个整数类型的EditItemIndex属性,他用来指明表格控件的哪一行是可编辑的.当设定该属性之后,DataGrid中对应的行用输入框来代替标签.值-1表示没有可编辑的行.Asp.net页面可以在服务器端表单中包含DataGrid控件,通过DataGrid控件的对象模型来访问可编辑的数据.为了判断哪

ASP.NET立即上手教程 13(完)

asp.net|教程 利用商务对象来工作这几天元旦过得晕头转向,好不容易清醒过来 :-) 所以拖的时间久了一点,不好意思了.在商务组件中封装逻辑是实际应用程序,比如基于web的应用以及其他应用中,必不可少的部分.在ASP.NET中,商务对象是多层WEB应用程序内建的块.应用程序的 /Bin目录在传统的ASP应用程序中使用COM组件的时候有一个问题,那就是这些组件在使用前必须被注册(典型的做法是使用regsvr32工具).远程管理这种类型的的应用程序很不现实,因为注册工具必须在本地服务器运行.更麻

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

表单验证服务器控件 验证介绍 网络形成框架包括一套易用而功能强大的用于验证的服务器控件,用来检查输入表单的错误,并且在必要的时候,向用户显示提示信息.将验证控件添加到设计圈套表格,就像添加其他服务器控件一样.验证控件有不同的验证类型,例如范围检查或者模式匹配,添加一个RequiredFieldValidator 控件可以保证用户不能跳过某一个要求输入内容的字段.你可以对一个输入控件组合若干个验证控件.例如,你可能要求某一字段不能为空,并且必须输入某一个范围的值.验证控件与服务器控件的有限子集协同

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

什么是asp.net的Web Forms Asp.net Web Forms 页面框架是可升级的通用语言运行时刻(CLR)程序模型,用来在服务器端动态生成WEB页面.(美国人说话就是别扭,其实Web Forms就是asp.net编写的页面) 作为ASP的合理演化(ASP.NET对现存的ASP提供语法兼容),ASP.NET Web Forms框架的设计目的,是用来解决ASP模式的不足.它提供: · 创建和使用可重用的用户界面控件,封装常用的功能,减少页面开发者书写代码的工作量. · 为开发者提供结

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

声明服务器控件 ASP.NET服务器控件使用包含runat="server" 属性的说明标志来声明.下面的例子声明了3个<asp:label runat="server">服务器控件,并且分别定制了文本和样式: C# Controls1.aspx 操作服务器控件 通过为服务器控件提供唯一的ID属性,你可以在页面中对每一个不同的服务器控件进行程序控制.使用ID作为参照,可以在运行时刻,使用程序来操作服务器控件的对象模型.例如下面的例子演示了页面开发者如何在

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

应用样式到HTML服务器控件 WEB是一个灵活的用户接口环境,不同的站点在视觉和感觉上极尽变化之能事.层叠式样式表(CSS)的广泛应用,极大的丰富了WEB的设计.所有ASP.NET的HTML服务器控件和WEB服务器控件,已经被设计为能够提供一流的CSS样式支持.这一部分讨论如何应用样式到服务器控件,并且演示服务器控件在WEB FORMS中所提供的精细的外观控制. 应用样式到 HTML服务器控件 标准的HTML标签通过STYLE属性来支持CSS,STYLE属性由一系列成对出现的以分号分割的 属性/

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

Asp.net引入了一种新的声明数据绑定的语法.这种极其灵活的语法允许开发者不仅绑定数据源,而且可以绑定简单的属性.集合.表达式.甚至是调用方法所返回的结果.下面的列表显示了这种新语法的一些例子: 简单属性 Customer: <%# custID %> 集合 Orders: <asp:ListBox id="List1" datasource='<%# myArray %>' runat="server"> 表达式 Contac

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

Web Forms 用户控件 用户控件介绍 除了ASP.NET提供的内建的服务器控件外,你还可以使用已经掌握的制作WEB FORMS 页面的技术,轻松的定义自己的控件.实际上,只需要稍微改动一下,几乎任何WEB FORMS页面都可以作为服务器控件,在其他页面上重复使用.(注意用户控件的类型是System.Web.UI.UserControl, 它直接从System.Web.UI.Control继承而来). Web Forms 页面被作为服务器控件使用的时候,简称为用户控件.转变之后,通常使用.a