我反复遇到这个问题,并且不知道造成它的原因。我在DataBind中遇到异常:SelectedValue which is invalid because it does not exist in the list of items
。
以下是一些重要的信息:
listOrgs.Items.Clear();
listOrgs.SelectedValue = "0";
listOrgs.DataSource = new Organization().DTListAll(SiteID);
listOrgs.DataTextField = "OrganizationName";
listOrgs.DataValueField = "OrganizationID";
listOrgs.DataBind();
答案 0 :(得分:58)
显然我发布的解决方案并不完全有效......最终在我的应用程序中我改为:
listOrgs.Items.Clear();
listOrgs.SelectedIndex = -1;
listOrgs.SelectedValue = null;
listOrgs.ClearSelection(); // Clears the selection to avoid the exception (only one of these should be enough but in my application I needed all..)
listOrgs.DataSource = new Organization().DTListAll(SiteID);
listOrgs.DataTextField = "OrganizationName";
listOrgs.DataValueField = "OrganizationID";
listOrgs.DataBind();
答案 1 :(得分:7)
我一直收到这个错误 奇怪的是,在我设置数据源并在删除项目后重新绑定 selected index = -1 。
如果我明确设置selectedIndex = -1;
,那么它可以正常工作并且不会抛出错误。
所以即使它已经-1,将其设置为-1也可以防止它出错。
很奇怪呃?
答案 2 :(得分:3)
刷新listOrgs.SelectedValue = "0"
DataSource
目前您正在尝试选择空列表中的第一项。
答案 3 :(得分:1)
如果你还有这个问题,我就是这样解决的:
listOrgs.SelectedIndex = -1; // Clears the SelectedIndex to avoid the exception
listOrgs.DataSource = new Organization().DTListAll(SiteID);
listOrgs.DataTextField = "OrganizationName";
listOrgs.DataValueField = "OrganizationID";
listOrgs.DataBind(); //Unless you have "listOrgs.AppendDataBoundItems = true" you don't need to clear the list
答案 4 :(得分:1)
不确定是你的情况,但我有同样的问题,显然没有解释,然后我意识到在数据库字段的记事本上复制并粘贴,在值的开头有一个NULL。
奇怪的是,选择的连接表正在运行。在工作正常后,我删除了行并重新插入。
答案 5 :(得分:1)
@PMarques的回答帮助了我并解决了我的问题。
然而,在进行实验时,它点击了我的脑袋,为什么我首先得到错误。
我正在设置" Text"属性认为它可能为我创建一个包含标签或字段集+图例(它没有)。
列表的Text property实际上是ListControl的SelectedValue属性。
所以我错误地解释了文本属性的作用。
答案 6 :(得分:0)
用这个改变前两行:
listOrgs.SelectedItem.Selected = false;
listOrgs.Items.Clear();
答案 7 :(得分:0)
我反复得到相同的错误,并尝试通过不将默认选择值设置为索引-1来结束。
我评论了我的代码ddlDRIBidAmt.SelectedValue = -1
此值是在我的页面控件重置为默认值时设置的。
答案 8 :(得分:0)
我知道回答太晚了,但我尝试的是一个肮脏的解决方案,但它有效。 在数据绑定之后,我在索引0处插入一个项目
ddl.Items.Insert(0, new ListItem("---Select---","-1"));
在设置上,
我正在放置try catch,在catch我将Value设置为-1