dropdownlist控件绑定 使用XML为列表控件绑定数据[1]
使用XML为列表控件绑定数据[1]
了解使用XML为列表控件绑定数据的各种不同的方法
介绍
在web开发项目中 我们需要经常写一些代码从数据源读取动态数据到列表控件中 在经典ASP时期 这是一件相对比较困难的任务 例如 我们必须查询数据库 找回 RecordSet 并且在手动创建HTML标签时还要重述RecordSet
现在在ASP NET中 你做同样的事情有了更好的办法 此外 除了用数据库作为数据源 你还可以使用各种数据源 比如XML文件 哪一个更好呢?这会在性能 适应性 可靠性 易配置性 安全等方面引起争论 在这里 我不想讨论这些
这篇文章讨论了几种可选择的办法了解使用XML为列表控件绑定数据的各种不同的方法 尽管我们使用ListBox 作为例子 但你可以很容易地把这种技术扩展到其他从 System Web UI WebControls ListControl 类继承而来的列表控件 它们包括CheckBoxList DropDownList 和 RadioButtonList
硬编码列表框
作为开始 让我们回忆一下通常我们是怎样用HTML定义一个列表框 (ListBox)的 下面展示了一个列表框的原始代码 这是最简单的方法 且费用最少 但是缺少一些弹性来控制列表框的行为
<select size= id= lstPizzaTopping ><option value= supreme >Supreme</option><option value= italianclassic >Italian Classic</option><option value= meatlover >Meat Lover</option></select>
在ASP NET中 你可以使用列表框得到同样的结果 但是具有更多性能来控制它的行为和属性
![dropdownlist控件绑定 使用XML为列表控件绑定数据[1]](http://img.zhputi.com/uploads/9cac/9caca3d7b36ee4af98f5cdd311f84bbe52329.jpg)
<asp:listbox rows= id= lstPizzaTopping runat= server ><asp:listitem value= supreme >Supreme</asp:listitem><asp:listitem value= italianclassic >Italian Classic</asp:listitem><asp:listitem value= meatlover >Meat Lover</asp:listitem></asp:listbox>
让我们在代码中使用一点手法 除了在列表框中硬编码进去一些项 你可以使用ListItem 对象生成一些项添加到列表框控件中 ListItem 有两个参数 项的文字以及值 如果你没指定第二个参数 那项的值将跟它的文字一样 下面的代码演示了该怎么做
<script runat= server >Sub Page_Load(src as Object e as EventArgs)lstPizzaTopping Items Add(new ListItem( Supreme supreme ))lstPizzaTopping Items Add(new ListItem( Italian Classic italianclassic ))lstPizzaTopping Items Add(new ListItem( Meat Lover meatlover ))</script> <asp:listbox rows= id= lstPizzaTopping runat= server />
列表框绑定数据 事实上 ASP NET允许你把列表框的内容跟对象绑定起来 这个对象可以是一个数组 一个集合对象 一个数据库甚至是一个XML文件 下面的例子演示了怎么把一个字符串数组绑定到列表框控件上 我们将在后面更详细地探究XML数据的绑定
<script runat= server >Sub Page_Load(src as Object e as EventArgs)Dim arrPizzaTopping as String() = _{ Supreme Italian Classic Meat Lover }lstPizzaTopping DataSource = arrPizzaToppinglstPizzaTopping DataBind()End Sub</script> <asp:listbox rows= id= lstPizzaTopping runat= server />
如果我们给数组添加一个新的元素会怎么样?列表框会反映出结果吗?不会的 除非你再一次使用 DataBind 方法 利用这种数据绑定技术 在什么时候什么地方更新列表框 你拥有完全的控制权
lishixinzhi/Article/program/net/201311/15079