快速业务通道

ASP.NET 2.0数据操作教程之十九:给编辑和新增界面增加验证控件

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
t;/asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text=''<%# Bind("ProductName") %>''></asp:Label>
</ItemTemplate>
</asp:TemplateField>

通过点击‘将此字段转换为 TemplateField’链接,Visual Studio创建了一个模板列模拟绑定列的界面 ,这一点可以通过在浏览器里查看页面来证实,替换前后外观和行为应该是完全 一致的。

注意:可以根据需要在模板里随意定制编辑界面。例如,也许我 们对UnitPrice字段使用一个小一点的TextBox。要实现这一点可以通过设置 TextBox的Columns属性或者通过Width属性指定一个固定宽度。下节教程会讨论如 何用其它的数据输入Web控件替换TextBox来定制编辑界面。

三、为 GridView的项编辑模板(EditItemTemplate)增加验证控件

创建数据录入 表单时,限制用户录入必填的,合法的以及格式化的数据十分重要。为确保用户 录入数据都是有效的,ASP.NET提供了5种内建的验证控件来验证单一控件的值:

• RequiredFieldValidator – 计算输入控件的值以确保用户输入 值

• CompareValidator – 将输入控件的值同常数值或其他输 入控件的值相比较,以确定这两个值是否与由比较运算符(小于、等于、大于、 类型等等)指定的关系相匹配

• RangeValidator – 计算输入 控件的值,以确定该值是否在指定的上限与下限之间

• RegularExpressionValidator – 计算输入控件的值,以确定该值是否与某 个正则表达式 所定义的模式相匹配

• CustomValidator – 计 算输入控件的值以确定它是否通过自定义的验证逻辑

关于这五种控件的更 多信息,请参阅 《ASP.NET Quickstart Tutorials》中的Validation Controls section。

本节教程中,对于DetailsView和GridView中的ProductName模 板列我们需要使用RequiredFieldValidator,而DetailsView的UnitPrice模板列 也需要一个RequiredFieldValidator。此外,还需要给所有的UnitPrice模板列增 加一个CompareValidator,以确保输入的价格大于等于0并且是有效的货币格式。

注意:ASP.NET 1.x中已经包含了这几个验证控件,但是ASP.NET 2.0中增 加了一些改进,主要的两点是客户端脚本对非IE浏览器的支持和对页面上的部分 验证控件进行分组实现某个按钮的特定验证控件组,参阅《Dissecting the Validation Controls in ASP.NET 2.0》(译者:也可参阅MSDN http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en- us/dnvs05/html/ValGroups.asp)。

现在我们来给GridView模板列中的 EditItemTemplate增加这些要用到的验证控件。首先点击GridView的智能标记选 择编辑模板打开模板编辑界面,然后从下拉列表中选择你要编辑的模板。由于我 们要处理的是编辑界面,这里我们要给ProductName和UnitPrice的 EditItemTemplate模板增加验证控件。

ASP.NET 2.0数据操作教程之十九:给编辑和新增界面增加验证控件

图4:展开ProductName和UnitPrice的 EditItemTemplate模板

在ProductName的EditItemTemplate中,通过拖拉方式从工具箱里给编辑界面增加 一个RequiredFieldValidator,放在TextBox后面。

ASP.NET 2.0数据操作教程之十九:给编辑和新增界面增加验证控件

图5:为ProductName的EditItemTemplate增加一个 RequiredFieldValidator

所有的验证控件都只能为单个ASP.NET Web控件 服务,因此,需要让新增的这个验证控件为EditItemTemplate的TextBox控件进行 验证;这需要将要验证控件的ID设置给验证控件的 ControlToValidate property 属性。TextBox当前的ID可能是一个莫明的TextBox1,我们最好还是赋予它一个更 合适的ID,单击模板中的TextBox,按F4查看属性窗口,将ID由TextBox1改为 EditProductName。

ASP.NET 2.0数据操作教程之十九:给编辑和新增界面增加验证控件

图6:将Te

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号