私はこの問題に繰り返し遭遇しましたが、何が原因であるのかわかりません。DataBindで例外が発生します:
"SelectedValue which is invalid because it does not exist in the list of items"
重要な情報は次のとおりです。
- 基になるデータが変更されたときに、listOrgsを定期的にリロードします。
- Organization.DTListAll呼び出しは、約500のInt、Stringペアを返します。
- 返されたデータに重複またはnull値はありません
- 以下の最初の2行の後、listOrgs.Items.Countは0であり、選択された値は0です。
- DataBind操作の実行時に選択された値は、返されるID値のセットに含まれていない値です。
listOrgs.Items.Clear();
listOrgs.SelectedValue = "0";
listOrgs.DataSource = new Organization().DTListAll(SiteID);
listOrgs.DataTextField = "OrganizationName";
listOrgs.DataValueField = "OrganizationID";
listOrgs.DataBind();