gpt4 book ai didi

asp.net - 将 ListItems 从通用列表添加到 DropDownList

转载 作者:行者123 更新时间:2023-12-04 03:14:18 27 4
gpt4 key购买 nike

我有一个这个 aspx 代码:(示例)

<asp:DropDownList runat="server" ID="ddList1"></asp:DropDownList>   

有了这个代码隐藏:
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();

输出如下所示:
<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>

我的问题是:为什么我的值(数字)消失了,文本用作值和文本?我知道如果我使用 ddList1.Items.Add(New ListItem("text", "value")) 它会起作用方法,但出于其他原因,我需要使用通用列表作为数据源。

最佳答案

因为 DataBind 方法仅在设置了 DataValueField 属性时才绑定(bind)值。如果在调用 DataBind 之前将 DataValueField 属性设置为“Value”,则您的值将出现在标记上。

更新:您还需要将 DataTextField 属性设置为“文本”。这是因为数据绑定(bind)和手动添加项目的工作方式不同。数据绑定(bind)不知道 ListItem 类型的存在,并通过评估数据源中的项目来生成标记。

关于asp.net - 将 ListItems 从通用列表添加到 DropDownList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/132643/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com