有一个无效 SelectedValue,因为它不在项目列表中。这是怎么回事?
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentOutOfRangeException: “”有一个无效 SelectedValue,因为它不在项目列表中。
参数名: value
源错误: ((ListBox)this.Controls[0].Controls[2].Controls[1].Controls[4]).SelectedValue = sdr.GetValue(1).ToString();
行 407: {
行 408: ((TextBox)this.Controls[0].Controls[2].Controls[1].Controls[1]).Text = sdr.GetValue(0).ToString();
行 409: ((ListBox)this.Controls[0].Controls[2].Controls[1].Controls[4]).SelectedValue = sdr.GetValue(1).ToString();
行 410: ((ListBox)this.Controls[0].Controls[2].Controls[1].Controls[7]).SelectedValue = sdr.GetValue(2).ToString();
行 411: ((Button)this.Controls[0].Controls[2].Controls[1].Controls[9]).CommandArgument = e.CommandArgument.ToString();
源文件: E:\winderzl\wlbye\ItemManage.cs 行: 409
堆栈跟踪:
[ArgumentOutOfRangeException: “”有一个无效 SelectedValue,因为它不在项目列表中。
参数名: value]
System.Web.UI.WebControls.ListControl.set_SelectedValue(String value) +8544661
wlbye.wlComponent.wlWebEditor.ItemManage.GridRowCommand(Object sender, GridViewCommandEventArgs e) in E:\winderzl\wlbye\ItemManage.cs:409
System.Web.UI.WebControls.GridView.OnRowCommand(GridViewCommandEventArgs e) +108
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +112
System.Web.UI.WebControls.GridView.OnBubbleEvent(Object source, EventArgs e) +95
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(Object source, EventArgs e) +123
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +118
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +135
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
------解决方案--------------------如果你是在 在编辑的时候出错的话
那么应该是因为你数据库那一列的值绑定在DropDownList的时候 DropDownList没有对应的值
------解决方案--------------------在值绑定在DropDownList前使用了 SelectValue附值了把 绑定的时候加个空看看.
------解决方案--------------------我知道,我知道,给我分给我分。。。
绑定在DropDownList的时候 DropDownList没有对应的值
------解决方案--------------------楼上的兄弟们 已经解答了。。。。
错误说明的已经很明确了。。。 - -
------解决方案--------------------很简单:
((ListBox)this.Controls[0].Controls[2].Controls[1].Controls[4]).SelectedValue = sdr.GetValue(1).ToString();
这个sdr.GetValue(1)的值在listbox中没有。
你应该在设置SelectedValue之前,先判断以下sdr.GetValue(1)的值是否存在Listbox中。
------解决方案--------------------应该是因为你数据库那一列的值绑定在DropDownList的时候 DropDownList没有对应的值
------解决方案--------------------ListBox 自己先绑定下吧。
((ListBox)this.Controls[0].Controls[2].Controls[1].Controls[4]).DataSource= **;
((ListBox)this.Controls[0].Controls[2].Controls[1].Controls[4]).DataBind();
再取值
((ListBox)this.Controls[0].Controls[2].Controls[1].Controls[4]).SelectedValue = sdr.GetValue(1).ToString();