Esp*_*spo 10 asp.net listitem drop-down-menu
我有一个这个aspx代码:(样本)
<asp:DropDownList runat="server" ID="ddList1"></asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)
有了这个代码隐藏:
List<System.Web.UI.WebControls.ListItem> colors = new List<System.Web.UI.WebControls.ListItem>();
colors.Add(new ListItem("Select Value", "0"));
colors.Add(new ListItem("Red", "1"));
colors.Add(new ListItem("Green", "2"));
colors.Add(new ListItem("Blue", "3"));
ddList1.DataSource = colors;
ddList1.DataBind();
Run Code Online (Sandbox Code Playgroud)
输出如下所示:
<select name="ddList1" id="ddList1">
<option value="Select Value">Select Value</option>
<option value="Red">Red</option>
<option value="Green">Green</option>
<option value="Blue">Blue</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我的问题是:为什么我的值(数字)消失了,文本用作值和文本?我知道如果我使用该ddList1.Items.Add(New ListItem("text", "value"))方法它是有效的,但出于其他原因我需要使用通用列表作为数据源.
Ser*_*gel 10
因为DataBind方法仅在设置了DataValueField属性时才绑定值.如果在调用DataBind之前将DataValueField属性设置为"Value",则您的值将显示在标记上.
更新:您还需要将DataTextField属性设置为"Text".这是因为数据绑定和手动添加项目不能以相同的方式工作.数据绑定不知道ListItem类型的存在,并通过评估数据源中的项来生成标记.
| 归档时间: |
|
| 查看次数: |
55921 次 |
| 最近记录: |