快速业务通道

ASP.NET 2.0数据教程之三十九:在编辑和插入界面里添加验证控件

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21

返回“ASP.NET 2.0数据教程目录”

导言

到目前为止的讨论编辑DataList的教程里,没有包含任何验证用户的输入,即使是用户非法输入— 遗漏了product的name或者负的 price— 会导致异常。在前面一章里我们学习了如何在DataList的 UpdateCommand事件处理中添加异常处理代码,以便在出现异常时捕捉它并显示友 好的错误信息。然而理想的编辑界面应该包含验证控件,用来在第一时间里阻止 用户输入一些非法数据。

第一步:从 处理 BLL和 DAL的异常复制例子

在 处理BLL和DAL的异常里我们创建了一个以两列的方式列出product的 name和price的DataList。本章的目标是扩展这个DataList的编辑界面,让它包含 验证控件。我们的验证逻辑如下:

product的 name 是必填的

确 保输入的price的值是合法的货币类型格式

确保输入的price的值大于等 于0

我们首先需要将ErrorHandling.aspx页的例子复制到 UIValidation.aspx里。这其中包括页面的声明代码和后台代码。下面是复制声明 代码的步骤:

在 Visual Studio的打开 ErrorHandling.aspx

切 换到源视图

复制从 <asp:Content> 到</asp:Content> 标 签内的代码,见图1.

ASP.NET 2.0数据教程之三十九:在编辑和插入界面里添加验证控件

图 1: 复制<asp:Content> 内的代码

打开 UIValidation.aspx

切换到源视图 

粘贴代码.

完成上面 的步骤后,打开ErrorHandling.asxp.cs,复制DispalyExcetionDetails方法和三 个事件处理(Products_EditCommand,Products_CancelCommand, 和 Products_UpdateCommand),注意不要复制声明类和using的代码。将这些代码粘 贴到ErrorHandling.asxp.cs里的EditDeleteDataList_UIValidation 类里。

完成这些后,浏览一下页面。这两个页面无论是输出还是功能都是一样的 (见图2)。

ASP.NET 2.0数据教程之三十九:在编辑和插入界面里添加验证控件

图 2: UIValidation.aspx 页ErrorHandling.aspx一样

第二步: 为DataList的 EditItemTemplate添加验证控件

当创建输入表格时,很重 要的一点是声明必填字段和用户的输入必须是格式正确的合法值。为了确保用户 输入是合法的,ASP.NET提供了5个内置的验证控件,这些验证控件被设计用来验 证单个的输入控件里的输入值。

RequiredFieldValidator —确保必 填值

CompareValidator — 根据另外的控件的值或常量来验证某个 值,或者确保输入值是特定的类型

RangeValidator — 确保输入值 在某个范围内

RegularExpressionValidator —根据正则表达式( regular expression )来验证某个值

CustomValidator — 根据用 户自定义的方法来验证某个值

更多的关于这5个控件的信息请参考给编辑 和新增界面增加验证控件 或着ASP.NET Quickstart Tutorials里的Validation Controls section。

本章里我们需要使用RequiredFieldValidator 来确 保用户输入了product的name,CompareValidator 来确保price的值大于等于0并 且是合法的货币格式。

注意:在ASP.NET 1.x里已经包含了这些验证控件 了,在ASP.NET 2.0里对它们有很多改进。其中最重要的两点一是对除了IE之外的 浏览器的客户端脚本支持,二是同一页面上的验证控件分组。更多的2.0里验证控 件新特性的信息请参考Dissecting the Validation Controls in ASP.NET2.0.

现在我们来将需要的验证控件添加到DataList的 EditItemTemplate里。这个可以通过点击DataList智能标签上的Edit Template, 或者直接写声明代码来完成。我们这里使用第一种方法。选择Edit Template后拖 一个RequiredFieldValidator 进来,将它放在ProductName TextBox后面。

ASP.NET 2.0数据教程之三十九:在编辑和插入界面里添加验证控件

图 3:添加 RequiredFieldValidator

所有的验证控件都只验证 单个的Web控件。因此我们需要指明刚添加的RequiredFieldValidator 是用来验 证ProductName TextBox。这个关联是通过将验证控件的ControlToValidate prope

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号