发布网友 发布时间:2023-01-21 01:28
共1个回答
热心网友 时间:2024-11-29 02:22
数据绑定列表将数据库中的一组数据显示给用户并等待用户从中进行选择 ASP NET为用户选择提供了四种类型的列表 DropDownList ListBox RadioButto}L ist和CheckBoxList 选择列表中的选择可以通过硬编码(静态地)添加 也可以从数据源控件(动态地)添加 在用户选择了一个值之后 该值可以在相同页面的代码或其他控件中使用 甚至可以在其他页面的控件中使用
本节的主题(需要用户进行选择的列表)很容易和名为ASP NET DataList的控件相混淆 该控件只显示数据而无需用户进行选择 本章后面将讨论ASP NET DataList控件
这 个选择控件都支持一对容易让人混淆的属性 第一个是DataTextField属性 它决定了用户将要看到的文本 相关但是不同的是DataValueField属性 该属性保存著在站点内部用于处理用户选择的值 例如 DataTextField控件可能会显示用户名和所在城市的组合字符串 但这个长的 混合的值对于从Customers表中选择单个用户没有用 因此需要将控件的DataValueField属性设置为客户的ID号 这将使得您可以在代码中惟一地判断订单来自哪个客户 当为列表控件的DataText和DataValue设置不同的字段时 两个字段都必须包含在由相应的数据源控件获得的字段列表中
所有选择列表控件都有另一个重要的属性 AutoPostBack将在列表中的选择发生改变时自动回送到服务器 如果在回送事件中需要执行一些代码以反映用户的选择 那么这是非常关键的 例如根据用户在列表框中的选择重新呈现一个GridView控件以显示一组受限的记录
可以通过三种方法向列表中添加数据项 第一种方法使用单独的ASP NET 标记添加数据项 第二种方法将列表绑定到一个数组中的值 最后一种方法 从数据源中读取数据项
使用单独的ASP NET 标记添加列表数据项
如果数据项相对而言是静态的(例如 州或省的名称清单) 则可以使用硬编码添加数据项 虽然代码会比较长 但它的执行速度比打开一个到数据源的连接要快 注意在某些情况下 虽然最初的数据项可能是静态的(州的名称清单) 但出现在选择列表中的数据项却可能是动态的(只显示有客户的州) 可以使用<asp:Listitem>标记添加数据项 如下面的代码所示 在这个示例中 您创建了一个下拉列表供用户选择球员的位置 您希望用户看到位置的完整名称(例如Left Back) 因此把这个值赋给Text属性 在用户做出选择之后 作为程序员 您希望实际处理这个位置的代码 所以将代码赋给Value属性 另外请注意可以将Central Defender位置设置为默认选项 例如 在下面的代码中 第一个数据项是针对Goalkeeper的 单词Goalkeeper将作为文本出现在列表框中 而值GK则是当用户选择Goalkeeper时您需要处理的代码 (DataTextField和DataValueField的概念将稍后解释)
<asp:DropDownList ID= DropDownList runat= server >
<asp:ListItem Value= GK >Goalkeeper</asp:ListItem>
<asp:ListItem Value= LB >Left Back</asp:ListItem>
<asp:ListItem Value= RB >Right Back</asp:ListItem>
<asp:ListItem Value= CD Selected= true >Central Defender</asp:ListItem>
</asp:DropDownList>ASP NET 入门教程完整版
lishixin/Article/program/net/201311/15412