欢迎进入.NET社区论坛,与200万技术人员互动交流 >>进入
概述 在很多情况下,我们都会使用到列表控件来方便用户选择一些选项。例如在某网站上注册新用户时,通常会询问你的性别是"男"还是"女",这时我们用单项按钮以供用户做出相应的选择。还有当你填写自己的家庭地址时,通常会使用到一个包含各省省名的下拉列表来供用户直接选择,这样可以减少用户的输入量。上述的这些单项按钮和下拉列表都在ASP.NET移动程序中都是以列表控件的形式存在的。我们可以使用列表控件来呈现各种形式(单项、多选、下拉列表)的列表,以供用户选择和使用。但是在ASP.NET 2.0移动开发工具包中,只有三个列表控件,分别为SelectionList 、List和ObjectList 控件。虽然没有ASP.NET 2.0中那么多类型的列表控件,但是我们却可以使用SelectionList 、List和ObjectList这三个列表控件实现单项、多选等几乎所有的功能。在本系列文章中将探讨这三个控件的一些基本功能和使用方法,并说明这三个控件相似之处及异同点。
图1是SelectionList 、List和ObjectList三个控件在类的继承上的关系:
图1
上面的三个列表控件中,SelectionList是最简单的,但是它可以以各种不同的类型进行呈现,因此具有很大的灵活度,以供不同的需求使用应用的列表类型。同时因为SelectionList控件不支持分页功能,所以在包含多个列表项的情况下,该控件就显得力不从心了。还有一点要需要重点说明的是,SelectionList是这三个列表控件中唯一支持多选的。而且该控件还可以以下拉列表的形式进行呈现,也可以以单项和多选框的方式进行呈现,当然这种呈现格式必须要被移动设备上的浏览器所接受。在一些WML浏览器上,只支持一些特殊的呈现形式,例如单项和多选按钮,并不支持下拉列表这种呈现形式。图2演示了下拉列表在不同浏览器上呈现时所存在的差别。
图2 在上图所示的PocketIE浏览器上,列表控件是以下拉列表的形式呈现的。而在Openwave的WML浏览器上,下拉列表类型的呈现形式是不支持的,为此在该浏览器中,是将列表中的各个列表项显示出来,供用户进行相应的选择。 List列表控件支持分页功能,这就意味着它支持列表项较多的列表。它只可以以项目符号列表或编号列表的形式进行呈现(只要浏览器支持即可)。除了之外,其它的被SelectionList支持的列表形式(例如下拉列表),在List中均无法实现。图3中List列表控件就是以编号列表的形式呈现的,并且支持分页功能。
图3 List列表控件以编号列表的形式呈现在页面上,而且支持分页功能。