Argument spécifié a été hors de la plage de valeurs valides.Nom du paramètre: valeur
Quand je suis à la suppression d'une ligne de grille de point de vue, je suis d'erreur suivant. "Argument spécifié a été hors de la plage de valeurs valides.Nom du paramètre: valeur ".
Ce qui suit est la Trace de la Pile:
[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
Veuillez me suggérer.
Pas. Je n'ai pas de définir un index manuellement.Mon exemple de code comme suit:
">
">
</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";
}
vous suggère de poster le code pour le supprimer défaut comme ci-dessus
qu'est-ce que votre code derrière pour faire supprimer?
Ce ne la ligne [ArgumentOutOfRangeException: argument Spécifié a été hors de la plage de valeurs valides. Nom du paramètre: valeur] dites-vous?
Mis à jour mon post avec le code
Les 2 autres paramètres Nom et le Nom sont DataKeyNames de contrôle gridview
qu'est-ce que votre code derrière pour faire supprimer?
Ce ne la ligne [ArgumentOutOfRangeException: argument Spécifié a été hors de la plage de valeurs valides. Nom du paramètre: valeur] dites-vous?
Mis à jour mon post avec le code
Les 2 autres paramètres Nom et le Nom sont DataKeyNames de contrôle gridview
OriginalL'auteur vijay chander | 2011-12-12
Vous devez vous connecter pour publier un commentaire.
il semble que vous essayez de définir la propriété selectedindex à un mauvais indice. Avez-vous la définir manuellement quelque part dans votre supprimer de rappel ou pageload(prender,...)?
Alors pouvez-vous montrer comment vous nourrissez votre grille et ce que vous faites dans l'événement de suppression?
Je viens de mettre à jour le post avec mon code
Pourquoi ne pas vous mettre la datasourceid directement dans le balisage? en outre, vous n'avez pas besoin d'appeler databind lors de l'utilisation de la datasourceid. Si le datasourceid est définie, le gridview appellera databind automatiquement, basée sur le RequiresDataBinding de la propriété.
Son travail.. Merci mec..
OriginalL'auteur lnu