English 中文(简体)
由于在项目清单中不存在,因而无效的选定地点
原标题:SelectedValue which is invalid because it does not exist in the list of items
  • 时间:2009-09-04 19:33:44
  •  标签:

我一再碰到这个问题,并 have不出造成这一问题的原因。 我在《数据表》中有一个例外:<代码>。 由于在项目清单中不存在这种价值,因而无效。

以下是一些重要信息:

  1. I reload listOrgs periodically when the underlying data has changed.
  2. The Organization.DTListAll call returns 2 Int, String pairs.
  3. There are no duplicate or null values in the returned data
  4. After the first two lines below, listOrgs.Items.Count is 0, and the Selected Value is 0
  5. The selected value after the DataBind operation executes is the ID value from the first row in the data
  6. This exception happens the very first time this code is executed after a fresh page load
listOrgs.Items.Clear(); 
listOrgs.SelectedValue = "0"; 
listOrgs.DataSource = new Organization().DTListAll(SiteID); 
listOrgs.DataTextField = "OrganizationName"; 
listOrgs.DataValueField = "OrganizationID"; 
listOrgs.DataBind();
问题回答

显然,我提出的解决办法完全有效...... 我在申请中最终改变了:

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();

I kept getting this error.
Weird thing is that before I set the datasource and rebind after deleting an item the selected index = -1.

如果我明确规定了<条码>,其中选择了Index =-1;,那么它就会起作用,并且不会犯错误。

<><>>>> 因此,即使第1条已经规定它为第1条,它也不再出现错误。

Weird eh?

履历 数值=“0”<0> > /代码>。

此时,你试图把第一个项目列入议程。

第2行:

listOrgs.SelectedItem.Selected = false; 
listOrgs.Items.Clear(); 

如果你仍然有这一问题,如何解决:

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

@PMarques回答帮助我,确实解决了我的问题。

然而,在进行试验时,我先点击了我为什么首先弄错了。

我在提出“Text”属性,认为它可能给我带来一个包罗万象的标签或实地打字+大腿(它不然)。

Text Property

因此,我错误地解释案文财产的内容。

这不是你的情况,但我有同样的问题,而且显然没有任何解释,然后,我在数据库的一个注板上做了一个拷贝和过去,在价值开始的时候,有一支联合国利比里亚办事处。

很奇怪的是,选编表格正在发挥作用。 我删除了该行,并在工作罚款后重新插入。

我一再发现同样的错误,试图结束这一错误,不把默认的选定价值确定为指数-1。

我对我的代码<代码>ddlDRIBidAmt.S当选 数值=-1

这一数值是在我的页数控制被重新引入默认值时确定的。

I know its too late to answer, but what I tried is an dirty solution but it worked. After databinding, I am insert a item at index 0

ddl.Items.Insert(0, new ListItem("---Select---","-1"));

以及环境

我正在把捕获量放在一边,因为捕获量一把价值设定为-1





相关问题
热门标签