首页 > 编程 > .NET > 正文

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

2024-07-10 13:12:21
字体:
来源:转载
供稿:网友

处理服务器控件事件

每一个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 验证控件可以方便的进行客户端或服务器端数据的验证

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表