快速业务通道

ASP.NET 2.0移动开发之列表控件

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
中的一个缓存。当 列表控件的数据源为一个DataSet对象时,因为一个DataSet可能包含多个 DataTable对象,所以我们还必须使用SelectionList.DataMember属性确切地指 定使用那个DataTable对象来填充列表项。注意,当你使用一个IEnumerator数据 源时,是没有必要指定DataMember属性的。至于DataSet在ASP.NET移动程序中的 具体应用,将在其它章节中进行介绍。

当你需要以数据绑定的方式动态地实现一个列表的话,那么应该将该列表控 件的DataSource属性指定一个相关联的数据源。如果数据源是一个DataSet对象 的话,那么还需要使用DataMember属性确切地指定用那个DataTable填充列表项 。对于SelectionList和List控件来说,你可以使用DataTextField和 DataValueField两个属性分别指定数据源中的两个字段,列表控件会自动将这两 个字段的内容作为各个列表项的文本信息和值信息。而ObjectList列表控件是使 用LabelField属性来指定数据源中的一个字段,使得该字段中的内容应用到各个 列表项中进行呈现,至于每个列表项的其它字段内容,你可以在ObjectList的详 细信息视图页上进行查看。

我们可以以代码的方式或服务器控件语法的方式实现上述数据绑定属性的设 置。例如,你希望在一个SelectionList列表控件中使用Manufacturer字段作为 各列表项的文本信息,且Model字段作为各列表项的值信息。那么其设置的方法 如程序清单3所示:

程序清单3

<mobile:SelectionList ID="SelectionList1" Runat="server" SelectType="MultiSelectListBox" DataTextField="Manufacturer" DataValueField="Model">
</mobile:SelectionList>

为了获取数据源中对应字段的内容,我们还需要定义一个类,使得每个列表 项都可以读取相应的文本信息和值信息。

程序清单4

public class MobileTelephone
{
 private String manufacturer, model;
 public MobileTelephone(String manufacturer, String model)
 {
this.manufacturer = manufacturer;
this.model = model;
 }
 public String Manufacturer { get { return this.manufacturer; } }
 public String Model { get { return this.model; } }
}

然后,在Page_Load事件处理函数中,创建所有的数据项并将其添加到一个 ArrayList对象中。最后就是设置列表控件的DataSource属性了,在这里我们将 DataSource指定为这个ArrayList对象。完成上述的步骤再调用DataBind方法, 这样就将列表控件和数据源进行绑定了。

程序清单4

protected void Page_Load(object sender, EventArgs e)
{
 if (!IsPostBack)
 {
ArrayList array = new ArrayList();
array.Add(new MobileTelephone("Dopoda", "P800"));
array.Add(new MobileTelephone("Motorola", "A1200"));
array.Add(new MobileTelephone("Nokia", "N70"));
array.Add(new MobileTelephone("Samsung", "E638"));
SelectionList1.DataSource = array;
SelectionList1.DataBind();
 }
}

使用上述代码的完整示例将在具体探讨每个列表控件时会应用到。

提示:DataBind方法对于数据绑定来说是至关重要的,很多开发人员经常忘 记调用这个方法,以致列表控件不显示任何列表项。我们可以使用两种方法来使 用DataBind方法,一种就是在每个要进行数据绑定的列表控件上单独使用 DataBind方法,如程序清单4所示。你还可以采用一种一劳永逸的方法,那就是 使用MobilePage.DataBind方法(在程序清单4中,使用this.DataBind()替代 SelectionList1.DataBind(),这里的this代表的就是MobilePage)。这样在页面 上存在多个数据绑定

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