【发布时间】:2015-02-18 01:51:58
【问题描述】:
我的 gridview 中有以下命令字段:
<asp:CommandField ShowEditButton="True" HeaderText="EDIT" CausesValidation="false"
HeaderStyle-BackColor="#CCCCCC" HeaderStyle-CssClass="infoBoldBlueSmall">
<HeaderStyle BackColor="#CCCCCC"></HeaderStyle>
</asp:CommandField>
条目如下所示:
当我点击编辑按钮时,我看到一个更新取消:
对于某些条目,当我单击编辑按钮时,出现以下错误:
Server Error in '/' Application.
--------------------------------------------------------------------------------
'Ddl_c' has a SelectedValue which is invalid because it does not exist in the list of items.
Parameter name: value
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentOutOfRangeException: 'Ddl_c' has a SelectedValue which is invalid because it does not exist in the list of items.
Parameter name: value
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[ArgumentOutOfRangeException: 'Ddl_c' has a SelectedValue which is invalid because it does not exist in the list of items.
Parameter name: value]
System.Web.UI.WebControls.ListControl.PerformDataBinding(IEnumerable dataSource) +2732917
System.Web.UI.WebControls.ListControl.PerformSelect() +49
System.Web.UI.Control.DataBindChildren() +11143343
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +182
System.Web.UI.Control.DataBindChildren() +11143343
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +182
System.Web.UI.WebControls.GridView.CreateRow(Int32 rowIndex, Int32 dataSourceIndex, DataControlRowType rowType, DataControlRowState rowState, Boolean dataBind, Object dataItem, DataControlField[] fields, TableRowCollection rows, PagedDataSource pagedDataSource) +267
System.Web.UI.WebControls.GridView.CreateChildControls(IEnumerable dataSource, Boolean dataBinding) +3340
System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) +72
System.Web.UI.WebControls.GridView.PerformDataBinding(IEnumerable data) +18
System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) +147
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +261
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.GridView.OnPreRender(EventArgs e) +46
System.Web.UI.Control.PreRenderRecursiveInternal() +108
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3394
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.5485; ASP.NET Version:2.0.50727.5483
如果需要更多信息,请告诉我。
gridview 已填充,所以我知道数据在那里,我还检查了表格,它也在那里。
我该如何解决这个问题?
更新:
代码贴在这里:
http://pastebin.com/ezr9uNMc
显示 GridView 的图像:
当为每一行单击Edit 时会触发什么?如果我为 52 单击 Edit,它可以工作,但对于 57、58 和 59,我会收到上面的堆栈跟踪错误。
请帮我解决问题。
【问题讨论】: