gpt4 book ai didi

c# - 如何将列表项添加到在代码隐藏中生成的下拉列表?

转载 作者:行者123 更新时间:2023-12-05 04:17:17 24 4
gpt4 key购买 nike

我在后面的代码中动态创建下拉菜单。我想添加一个列表项,它是下拉列表的默认选择。

int Persons= int.Parse(TextBox_persons.Text) + 1;

for (int i = 1; i < Persons; i++)
{
DropDownList DropDownList_menuchoice = new DropDownList();
DropDownList_menuchoice.DataSource = Menu.GetAllMenus();
DropDownList_menuchoice.CssClass = "form-control";
DropDownList_menuchoice.Items.Add(new ListItem("please select a menu", "-1"));
DropDownList_menuchoice.DataTextField = "titel";
DropDownList_menuchoice.DataValueField = "titel";
DropDownList_menuchoice.DataBind();
Panel1.Controls.Add(DropDownList_menuchoice);
}

为什么这行不通?我一直在网上寻找答案,但每个人都建议使用 items.add 代码,但它对我不起作用。它只显示我从数据库中检索的数据,而不是我在上面的代码中添加的列表项。

如果你知道这是为什么,请帮助我。

最佳答案

首先,您需要在调用 DataBind 方法后添加项目。像这样:

DropDownList DropDownList_menuchoice = new DropDownList();
DropDownList_menuchoice.DataSource = Menu.GetAllMenus();
DropDownList_menuchoice.CssClass = "form-control";
DropDownList_menuchoice.DataTextField = "titel";
DropDownList_menuchoice.DataValueField = "titel";
DropDownList_menuchoice.DataBind();
DropDownList_menuchoice.Items.Add(new ListItem("please select a menu", "-1"));

然后你需要使用 Insert 方法将它添加到索引 0(作为第一项):

DropDownList_menuchoice.Items.Insert(0, new ListItem("please select a menu", "-1"));

您也可以先将项目添加到数据中,然后再设置数据源属性。像这样:

var data = Menu.GetAllMenus();
data.Insert(0, new Menu { titel = "please select a menu" });
DropDownList_menuchoice.DataSource = data;
...

关于c# - 如何将列表项添加到在代码隐藏中生成的下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23968555/

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