快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
ial 示例DataModificationEvents.aspx中的代码到 本节教程的UIValidation.aspx页面上。要完成此点需要复制 DataModificationEvents.aspx页面的元素标记和它的后台代码。先按下面步骤拷 贝元素标记:

1.在Visual Studio中打开 DataModificationEvents.aspx

2.转到页面的源视图(单击页面底部的 源(Source)按钮)

3.拷贝<asp:Content> 至 </asp:Content> 标记间的文本(3到44行),见图2。

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

图2:拷贝<asp:Content> 控件中的文本

4.打开 UIValidation.aspx页

5.转到页面的源视图

6.粘贴文本到 <asp:Content>控件

然后打开代码文件 DataModificationEvents.aspx.cs,拷贝 EditInsertDelete_DataModificationEvents 类中的代码,及3个事件处理 (Page_Load, GridView1_RowUpdating, 和 ObjectDataSource1_Inserting), 注意不要把类声明和using语句也拷贝过来,然后将它们粘贴到 UIValidation.aspx.cs中的 EditInsertDelete_UIValidation里。

上面的 工作完成后,不要急着动手,先砌杯茶在浏览器里查看一下是否有误,这两个页 面应该具有同样的输出和功能。(参照图1 ,DataModificationEvents.aspx运行 时的抓图)。

二、将绑定列转换为模板列

要增加验证控件到新增/ 编辑界面,DetailsView 和 GridView必须将绑定列转换为模板列。要实现此转换 ,先点击GridView的智能标记(译者:GridView右上角的箭头),再选择‘ 编辑列 …’(Edit Columns),在左边依次选择绑定字段并点击 ‘将此字段转换为TemplateField’链接(英文版是Convert this field into a TemplateField,下同)。

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

图3:将DetailsView和GridView的绑定列转换为模板列

通过刚 才操作的字段(英文版是Fields)对话框,绑定列可以转换为模板列,同样拥有 了只读,编辑,新增等原有功能。下面的代码显示了 DetailsView中转换为模板 列后的ProductName字段的元素标记:

<asp:TemplateField HeaderText="ProductName" SortExpression="ProductName">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text=''<%# Bind("ProductName") %>''></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text=''<%# Bind ("ProductName") %>''></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text=''<%# Bind("ProductName") % >''></asp:Label>
</ItemTemplate>
</asp:TemplateField>

注意该模板列自动创建了三个模板列 ,ItemTemplate, EditItemTemplate以及InsertItemTemplate。项模板 ItemTemplate使用Label Web控件简单显示字段值(ProductName),而 EditItemTemplate和InsertItemTemplate则使用TextBox控件并利用其Text属性来 处理相关的数据。由于我们在页面上只使用DetailsView实现新增,你可以删除 ItemTemplate和EditItemTemplate,当然留着也无关紧要。

由于GridView 不支持DetailsView内建的新增功能,将GridView的ProductName字段转换为模板 列,并只保留ItemTemplate和 EditItemTemplate:

<asp:TemplateField HeaderText="ProductName" SortExpression="ProductName">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text=''<%# Bind("ProductName") %>''>&l

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