快速业务通道

ASP.NET 2.0数据操作教程之二十:定制数据修改界面

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
alue字段

改动后CategoryName的模板项将拥有一个DropDownList控件和一个 ObjectDataSource,元素标记大致如下:

<asp:TemplateField HeaderText="Category" SortExpression="CategoryName">
<EditItemTemplate>
<asp:DropDownList ID="Categories" runat="server" DataSourceID="CategoriesDataSource" DataTextField="CategoryName" DataValueField="CategoryID">
</asp:DropDownList><asp:ObjectDataSource ID="CategoriesDataSource" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="GetCategories" TypeName="CategoriesBLL">
</asp:ObjectDataSource>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text=''<%# Bind ("CategoryName") %>''></asp:Label>
</ItemTemplate>
</asp:TemplateField>

注 意:EditItemTemplate模板中的DropDownList必须启用视图状态(view state) 。下面我们将会在DropDownList的元素标记中增加数据绑定语法和数据绑定命令 例如Eval()和Bind(),它们要求启用视图状态,否则将无法显示。

重复以 上步骤为SupplierName的模板列中EditItemTemplate模板添加DropDownList控件 ,并命名为Suppliers。包括增加DropDownList控件和创建另一个 ObjectDataSource,注意新的ObjectDataSource调用的是SuppliersBLL 类的 GetSuppliers()方法。另外,配置Suppliers下拉框的显示字段为CompanyName, value字段为SupplierID。

两个下拉框都增加完成后,在浏览器中查看页 面并点击“Chef Anton’s Cajun Seasoning”产品的编辑按钮 。如图9所示,产品的category和supplier列都变成了下拉框并包含了对应的 category和supplier选项集。但是,你会发现下拉框中默认选择的是下拉框的第 一项(category是Beverages,supplier是Exotic Liquids),事实上它们分别应 该是Condiment和New Orleans Cajun Delights。

ASP.NET 2.0数据操作教程之二十:定制数据修改界面

图9:下拉列表默认选中的是第一项

此外,如果点击更新,你会 发现该产品的CategoryID 和 SupplierID都变成了NULL。这些都是由于 EditItemTemplate模板中的下拉框没有根据数据库中的实际数据进行绑定。

为DropDownList绑定CategoryID 和 SupplierID 数据

为了使 product编辑状态下的category和supplier下拉列表选中实际数据,并使其可以根 据用户选择调用BLL的UpdateProduct方法对数据库进行更新,我们需要对两个下 拉框的SelectedValue分别绑定到CategoryID 和 SupplierID。例如对于 Categories下拉框,我们直接在元素标记中增加SelectedValue=''<%# Bind("CategoryID") %>''。

另一种做法是在设计器中 ,通过下拉框的智能标记,点击“编辑DataBinding”链接,设置编辑 模板中的下拉框的数据绑定。接下来,用双重模式指定SelectedValue绑定到 CategoryID字段(见图10)。重复上面的方法之一,为Suppliers下拉框绑定 SupplierID数据。

ASP.NET 2.0数据操作教程之二十:定制数据修改界面

图10:给DropDownList的SelectedValue属性绑定CategoryID值

一旦完成两个下拉框SelectedValue属性的数据绑定,产品的category和supplier 就会默认选中实际选项了。在点击Update按钮时,下拉框中的选择也会准确传递 给UpdateProduct方法。图11显示了增加数据绑定后的代码;注意如何选中下拉列 表中的项:Chef Anton’s Cajun Seasoning产品的分类和提供商分别选中 了正确的Condiment和New Orleans Cajun Delights选项

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