手机版

ASP.NET 2.0中的操作数据十九:在编辑和添加界面中添加验证控件

时间:2021-11-01 来源:互联网 编辑:宝哥软件园 浏览:

介绍

在前三节的示例中,GridView和DetailsView控件使用了绑定列和CheckBoxField(绑定GridView和DetailsView时,VS可以通过智能标记根据数据库自动增加相应的类型)。在GridView或DetailsView中编辑行时,非只读属性的绑定列将自动变成文本框,以便用户可以修改现有数据。同样,当一条新记录被添加到DetailsView控件时,InsertVisible属性为true(默认值)的绑定列将呈现一个空文本框来接受用户输入。CheckBoxField列也是如此,它通常显示为只读复选框,可以在添加/编辑记录时选择。

虽然BoundField和CheckBoxField提供了非常有用的编辑和添加接口,但是它们缺少验证功能。当用户出现一些数据输入错误时,例如缺少ProductName字段或为UnitsInStock输入无效值(例如-50),应用程序将从底层抛出一个异常。尽管我们可以很好地处理这个异常,正如在前面的教程中所讨论的,一个完美的“添加/编辑”用户界面应该包括验证控件,以防止用户在第一时间输入这些无效数据。

为了提供用户定义的添加/编辑界面,边界字段和复选框字段需要替换为项目板字段。模板列已经在《Using TemplateFields in the GridView Control 和 Using TemplateFields in the DetailsView Control》教程中讨论过,它由几个处理不同行状态的模板组成。列项目模板用于在DetailsView或GridView控件中呈现只读字段或行,而编辑项目板和插入项目模板分别是用于编辑和添加模式的界面模板。

在本教程中,您将发现为模板列的EditItemTemplate和InsertItemTemplate提供验证控件以提供更健壮的用户界面是多么简单。需要明确的是,本教程采用了《Examining the Events Associated with Inserting, Updating, and Deleting》中创建的示例代码,增加了添加/编辑时的相关验证。

一、复制《研究插入、更新和删除的关联事件》的样本代码。

在《研究插入、更新和删除的关联事件》教程中,我们创建了一个页面,并在可编辑的GridView中列出了产品的名称和价格。页面上还有一个DetailsView,DefaultMode属性设置为Insert,所以总是以新模式出现。通过DetailsView,用户可以输入名称和价格来添加新产品。单击插入后,新的产品将被添加到系统中(见图1)。

//files.jb51.net/file_images/article/201605/2016050710252050.png

图1:以前的代码允许用户添加新产品或修改现有产品。

本教程的目标是为DetailsView和GridView提供验证控件。更准确地说,这种验证逻辑是:

添加/编辑产品时需要名称,添加记录时需要价格;编辑时,您仍然需要价格,并在GridView的RowUpdating事件处理中应用上一教程中的程序逻辑。确保输入的价格是有效的货币格式。

在考虑将验证添加到前面的代码之前,我们首先需要将前面教程示例DataModificationEvents.aspx中的代码复制到本教程的UIValidation.aspx页面。为此,您需要复制DataModificationEvents.aspx页面的元素标记及其背景代码。复制元素标签,如下所示:

1.在Visual Studio 2中打开DataModificationEvents.aspx2。转到页面的源代码视图(单击页面底部的源代码按钮)3。在asp:Content和/asp:Content标签之间复制文本(3到44行),如图2所示。

//files.jb51.net/file_images/article/201605/2016050710252051.png

图2:复制asp:Content控件中的文本。

4.打开第5页的UIValidation.aspx。转到第6页的源代码视图。将文本粘贴到asp:Content控件中。

然后打开代码文件DataModificationEvents.aspx.cs,复制EditInsertDelete _ datamodificionevents类中的代码,并处理三个事件(page _ load、gridview1 _ rowupdating和ObjectDataSource1 _ Inserting),注意不要复制类声明和using语句,然后粘贴到UIValidation.aspx.cs中的EditInsertDelete_UIValidation中。

以上工作完成。

版权声明:ASP.NET 2.0中的操作数据十九:在编辑和添加界面中添加验证控件是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。