快速业务通道

使用ObjectDataSource显示数据

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
录方面是非常严格的。但是,用户也许希望显示更灵活 的数据视图。例如,用户不想将产品的名称、类别、供货商、价格和折扣信息显示在一行 中,而想将产品的名称和价格以<h4>显示为标题,类别和供货商信息以较小的字体 显示在名称和价格下面。并且,也许用户不太关心显示在数值旁边的属性名称(产品、类 别等)。

FormView control FormView 控件提供了这样的定制功能。FormView 不 像 GridView 和 DetailsView使用字段,而是使用模板,它允许将 Web 控件、静态 HTML 和 数据绑定语法. 混合使用。如果您熟悉 ASP.NET 1.x 的 Repeater 控件,在显示单个 记录时,您可以将FormView 视为 Repeater。

向 SimpleDisplay.aspx 页面的设 计界面添加 FormView 控件。最初,FormView 显示为灰色方块,这是在提醒用户至少要 提供控件的ItemTemplate。

图17: FormView 必须包含 ItemTemplate

通过FormView 的智能标记可以将 FormView 直 接绑定到数据源控件,这将自动创建默认 ItemTemplate(如果设置了 ObjectDatatSource 控件的 InsertMethod 和 UpdateMethod 属性,同时还将创建 EditItemTemplate 和 InsertItemTemplate)。然而,针对该示例,我们将数据绑定到 FormView,同时手动的指定它的 ItemTemplate。首先,将 FormView 的 DataSourceID 属性设置为 ObjectDataSource 控件的 ID,即 ObjectDataSource1。接着,创建 ItemTemplate,使其以 <h4> 元素显示产品的名称和价格,在名称和价格下面以较 小的字体显示产品的类别和供货商名称。

<asp:FormView ID="FormView1" runat="server"
   DataSourceID="ObjectDataSource1" EnableViewState="False">
   <ItemTemplate>
     <h4><%# Eval("ProductName") %>
      (<%# Eval("UnitPrice", "{0:c}") %>)</h4>
     Category: <%# Eval("CategoryName") %>;
     Supplier: <%# Eval("SupplierName") %>
   </ItemTemplate>
</asp:FormView>

图18: 第一个产品 (Chai) 以自定义格式显示

<%# Eval(propertyName) %>为数据绑定语法。Eval 方法返回当前绑定到 FormView 控件的对象的指定属性的值。有关数据绑定的详细信息,参考 Alex Homer 的 文章 ASP.NET 2.0 的基本和扩展的数据绑定语法 。

像 DetailsView 一样,FormView 也只显示 ObjectDataSource 返回的第一个记录。 可以在 FormView 中启用分页,以便允许访问者每次一个地逐个查看产品。

小结

利用 ASP.NET 2.0 的 ObjectDataSource 控件,无需编写一行代码即可实现对来自业 务逻辑层数据的访问和显示。ObjectDataSource 调用一个指定的类方法,并返回结果。 这些结果显示在绑定到 ObjectDataSource 的 Web 数据控件中。通过本教程,我们了解 了绑定到 ObjectDataSource 的 GridView、DetailsView 和 FormView 控件。

目前为止,我们仅对如何使用 ObjectDataSource 调用无参数方法进行了了解,但是 ,我们该如何调用含有输入参数的方法(如 ProductBLL 类的 GetProductsByCategoryID(categoryID))呢?为了调用含有一个或多个参数的方法,必 须对 ObjectDataSource 进行配置,为这些参数指定参数值。在下一教程中,我们将了解 怎样实现这一功能。

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