返回“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.
图 1: 复制<asp:Content> 内的代码
打开 UIValidation.aspx
切换到源视图
粘贴代码.
完成上面 的步骤后,打开ErrorHandling.asxp.cs,复制DispalyExcetionDetails方法和三 个事件处理(Products_EditCommand,Products_CancelCommand, 和 Products_UpdateCommand),注意不要复制声明类和using的代码。将这些代码粘 贴到ErrorHandling.asxp.cs里的EditDeleteDataList_UIValidation 类里。
完成这些后,浏览一下页面。这两个页面无论是输出还是功能都是一样的 (见图2)。
图 2: UIValidation.aspx 页ErrorHandling.aspx一样