gpt4 book ai didi

asp.net - ASP :DropDownList Error: 'DropDownList1' has a SelectedValue which is invalid because it does not exist in the list of items

转载 作者:行者123 更新时间:2023-12-02 05:27:52 26 4
gpt4 key购买 nike

我有一个带有大量 asp:DropDownList 控件的 asp.net 2.0 网站。DropDownList 控件包含城市、州、县等标准信息...信息。除了标准代码之外,该站点还具有用户可以自行配置的自定义代码。例如,动物下拉列表可能包含 Dog、Cat、Fish 等值...

我正在从我创建的 SQL 2005 表中填充 DropDownList,例如tbl代码

一切正常,用户可以使用众多 DropDownList 控件从列表中选择项目来添加订单。

如果用户想要更改他们的自定义下拉菜单之一,就会出现问题。例如,用户想更改措辞在从 Dog 到 K9 的动物类型控制上。这就是问题开始的地方。

对于所有新订单,下拉菜单都可以正常工作。当用户检索旧订单时我在 C# 代码隐藏中收到以下错误“'DropDownList1' 有一个无效的 SelectedValue,因为它不存在于项目列表中。”

发生的事情是旧订单的数据库字段值为 Dog,而 DropDownList 的列表中不再有 Dog,因为用户将其更改为 K9。

有什么解决方法吗?
有没有办法让 asp:DropDownList 接受未在其列表中播种的项目?我可以使用其他控件吗?

最佳答案

我两天前解决了这个完全相同的问题。首先,我将设置 SelectedValue 的代码移动到 DropDownList 的 PreRender 处理程序。然后,我添加逻辑以首先检查该值是否在下拉列表中。如果没有,我添加它。

这是我的代码。 ddSpecialty 是我的下拉列表,填充了数据库中的“专业”。 registration.Specialty 是用户选择的专业,它可能在也可能不在下拉列表中,因为该特定专业可能在他们上次选择后已被删除。

protected void ddSpecialty_PreRender(object sender, EventArgs e)
{
if (!ddSpecialty.Items.Contains(new ListItem(registration.Specialty)))
ddSpecialty.Items.Add(registration.Specialty);
ddSpecialty.SelectedValue = registration.Specialty;
}

关于asp.net - ASP :DropDownList Error: 'DropDownList1' has a SelectedValue which is invalid because it does not exist in the list of items,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38612/

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