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

返回“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一样

时间: 2024-10-29 11:14:57

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

ASP.NET 2.0数据教程之四十九:使用SqlDataSource插入、更新以及删除数据

返回"ASP.NET 2.0数据教程目录" 导言 在概述插入.更新和删除数据中我们讨论过,GridView控件提供 了内建的更新与删除功能,而DetailsView和FormView控件除了这些之外还拥有插 入功能.这些数据修改功能可以直接接入到数据源控件中而不需要编写任何代码 .概述插入.更新和删除数据讲解了如何使用ObjectDataSource来帮助GridView .DetailsView以及FormView控件完成插入.更新以及删除操作. ObjectDataSource能工

ASP.NET 2.0数据教程之四十:自定义DataList编辑界面

返回"ASP.NET 2.0数据教程目录" 导言 DataList的编辑界面由EditItemTemplate里的标记语言和web控件 定义.在目前为止所做的DataList编辑功能的例子里,编辑界面都只包含TextBox .在前面一章里,我们通过添加验证控件来增加了用户体验,提高了可用性. EditItemTemplate可以包含除了TextBox以外的很多控件,比如 DropDownLists, RadioButtonLists, Calendars等.和使用TextBox一样,使

在ASP.NET 2.0中操作数据之三十九:在DataList的编辑界面里添加验证控件_自学过程

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

ASP.NET 2.0数据教程之三十二:数据控件的嵌套

返回"ASP.NET 2.0数据教程目录" 导言 除了静态HTML和数据绑定语法,template也可以包含Web控件和用 户控件.这些控件的属性可以通过声明语法,数据绑定语法或在服务器端通过事件 处理编程来设置. 通过将控件嵌入到template里,可以自定义界面,提升用 户体验.例如,在在GridView控件中使用TemplateField 里,我们学习了如何通过在 GridView的TemplateField里加一个Calendar控件来表示员工的雇佣日期.在给编 辑和新增界面增

ASP.NET 2.0数据教程之三十八:处理BLL和DAL的异常

返回"ASP.NET 2.0数据教程目录" 在 综叙:在DataList里编辑和删除数据 里,我们创建了一个提供简单编辑和 删除功能的DataList.虽然功能上已经完整了,但是对用户来说是不友好的.因 为所有在编辑和删除过程中产生的异常都是未处理的.比如,遗漏了输入product 的name,或者编辑product时在price里输入"Very affordable!", 都会抛出异常.而由于在代码里未捕捉这些异常,页面会显示ASP.NET运行时的详 细错误信息.

ASP.NET 2.0数据教程之三十六:综叙---在DataList里编辑和删除数据

返回"ASP.NET 2.0数据教程目录" 导言 概述插入.更新和删除数据里我们已经学习了如何使用GridView 等控件来插入,更新删除数据.通过ObjectDataSource和其它数据控件仅仅只需 要在智能标签里勾一下checkbox就完成了,不需要写任何代码. 而 DataList没有这些内置的功能.我们可以使用1.x 里的方法来实现这些功能.在 本章我们将看到,DataList提供了一些事件和属性来完成我们的目的,为此我们 需要写一些代码. 本章我们首先学习如何创建一个支持编

ASP.NET 2.0数据教程之三十五:使用Repeater和DataList实现的主/从报表

返回"ASP.NET 2.0数据教程目录" 导言 在前面一章里我们学习了如何用两个页分别显示主/从信息.在 "主"页里我们用Repeater来显示category.每个category的name都 是一个链到"从"页的hyperlink.在从页里用一个两列的DataList显 示选中的category下的product. 本章我们将还是使用单页,在左边显示 category列表,category的名字用LinkButton显示.点击其中一个时页面

ASP.NET 2.0数据教程之三十四:跨页面的主/从报表

返回"ASP.NET 2.0数据教程目录" 导言 在前面一章里我们学习了如何在一个页里显示主/从信息.另外一 种经常使用的模式就是将主从信息用两个页分别显示.在前面的跨页面的主/从报 表我们通过GridView显示所有的supplier来使用这个模式.GridView里包含一个 HyperLinkField,链接到另外一个页,并将SupplierID通过querystring传过去.第 二个页使用GridView列出了选中的supplier提供的product. 这样的两页主 /从表也

ASP.NET 2.0数据教程之三十:格式化DataList和Repeater的数据

返回"ASP.NET 2.0数据教程目录" 导言 在前面的教程里我们学习了DataList提供了一些风格样式的属性. 而且我们还学习了如何定义HeadStyle, ItemStyle, AlternatingItemStyle, 和 SelectedItemStyle等属性的默认CSS.除了这四个属性外,DataList还提供了其它 属性,比如Font, ForeColor, BackColor, 和BorderWidth.而Repeater没有提供任 何这样的属性.如果你需要用Rep