![](/img/trans.png)
[英]“Specified argument was out of the range of valid values.Parameter name: index” when adding new item to ObservableCollection<T>
[英]Specified argument was out of the range of valid values.Parameter name: value
當我從網格視圖中刪除一行時,我收到以下錯誤。 “指定的參數超出了有效值的范圍。參數名稱:值”。 以下是堆棧跟蹤:
[ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: value]
System.Web.UI.WebControls.GridView.set_SelectedIndex(Int32 value) +1353411
System.Web.UI.WebControls.GridView.HandleDeleteCallback(Int32 affectedRows, Exception ex) +368
System.Web.UI.DataSourceView.Delete(IDictionary keys, IDictionary oldValues, DataSourceViewOperationCallback callback) +137
System.Web.UI.WebControls.GridView.HandleDelete(GridViewRow row, Int32 rowIndex) +714
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +869
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
請建議我。
不。我沒有手動設置任何索引。我的代碼示例如下:'>'>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="srcData" runat="server" ConnectionString="<%$ ConnectionStrings:GermanyCockpitDB %>"
SelectCommand="SP_BPGetData" SelectCommandType="StoredProcedure"
OnSelecting="srcBP_Selecting" DeleteCommand="SP_BPDeleteRecord"
DeleteCommandType="StoredProcedure" OnDeleting="srcData_deleting">
<SelectParameters>
<asp:Parameter Name="Manager" Type="String" />
<asp:Parameter Name="Period1" Type="String" />
<asp:Parameter Name="Period2" Type="String" />
<asp:Parameter Name="Period3" Type="String" />
<asp:Parameter Name="Period4" Type="String" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="ManagerName" Type="String" />
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="AName" Type="String" />
</DeleteParameters>
</asp:SqlDataSource><br /><br /> protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
gvData.DataSourceID = "srcData";
gvData.DataBind();
}
}protected void srcData_deleting(object sender, SqlDataSourceCommandEventArgs e)
{
e.Command.Parameters["@ManagerName"].Value = "Sample";
}
protected void srcBP_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
e.Command.Parameters["@ReportsToManager"].Value = "Sample";
e.Command.Parameters["@Period1"].Value = "0";
e.Command.Parameters["@Period2"].Value = "1";
e.Command.Parameters["@Period3"].Value = "2";
e.Command.Parameters["@Period4"].Value = "3";
}
看來你正試圖將selectedindex設置為錯誤的索引。 你是否在刪除回調或頁面加載(prender,...)中的某個地方手動設置它?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.