简体   繁体   中英

Specified argument was out of the range of valid values.Parameter name: value

When I am deleting a row from grid view I am getting following error. "Specified argument was out of the range of valid values.Parameter name: value ". The following is the Stack Trace:

[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

Please suggest me.

No. I didnt set set any index manually.My code sample as follows: '> ' >

            </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";
}

it seems you're trying to set the selectedindex to a wrong index. Do you set it manually somewhere in your delete callback or pageload(prender,...)?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM