Le contrôle GridView 'OrdersGridView' tiré de l'événement RowDeleting qui n'était pas géré
J'obtiens cette erreur, encore et encore.
De charger les données dans le contrôle GridView fonctionne, mais lorsque je veux supprimer une ligne, je reçois cette erreur.
<asp:GridView ID="OrdersGridView" runat="server" AutoGenerateColumns="False" onrowdeleted="OrdersGridView_RowDeleted">
<Columns>
<asp:TemplateField HeaderText="Product Name">
<ItemTemplate>
<asp:HiddenField runat="server" ID="HiddenField1" Value='<%#Eval("oid")%>'></asp:HiddenField>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="titel" HeaderText="Name" />
<asp:BoundField DataField="oid" HeaderText="Itemno" />
<asp:BoundField DataField="prijs" HeaderText="Price" />
<asp:CommandField ButtonType="Link" CausesValidation="false" HeaderText="Update" ShowDeleteButton="True" />
<asp:BoundField DataField="prijs" HeaderText="Subtotal" />
</Columns>
</asp:GridView>
C# code-behind - je ne suis pas vraiment de la suppression de la ligne à partir de la base de données mais c'est un test:
protected void OrdersGridView_RowDeleted(object sender, System.Web.UI.WebControls.GridViewDeletedEventArgs e)
{
if (e.Exception != null)
{
lblStatus.Text = e.Exception.ToString();
}
else
{
string sValue = ((HiddenField)OrdersGridView.SelectedRow.Cells[1].FindControl("HiddenField1")).Value;
lblStatus.Text = sValue;
}
}
Mais après avoir cliqué, je reçois un bigass jaune page avec l'erreur suivante:
Le contrôle GridView 'OrdersGridView' tiré de l'événement RowDeleting qui n'a pas été traité.
OriginalL'auteur Janis | 2010-08-23
Vous devez vous connecter pour publier un commentaire.
Avoir un bouton Supprimer, ou même un simple bouton dans un GridView avec un CommandName de supprimer, va automatiquement essayer de feu OnRowDeleting. Vous pouvez ajouter simplement à faire des choses heureuses, mais ne pas faire quelque chose afin de ne pas modifier le comportement de votre supprimer.
Vous pouvez ajouter OnRowDeleting à votre GridView:
Et puis dans votre Code-behind ajouter:
Beckham, vous da l'homme. Merci!
OriginalL'auteur Joel Beckham
changer votre ligne de commande le nom de la supprimer à tout autre, comme deleterecord
OriginalL'auteur nilesh
On dirait que vous êtes la manipulation de la "onrowdeleted de l'événement", pas le "RowDeleting" événement
dans votre balisage, modifiez:
onrowdeleted="OrdersGridView_RowDeleted"
à
RowDeleting="OrdersGridView_RowDeleting"
Coup d'oeil un de docs pour cet événement: vous verrez également que votre gestionnaire de signature aura besoin de changer:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.onrowdeleting.aspx
votre nouveau gestionnaire de regarder quelque chose comme ceci:
la RowDeleting événement se produit, le onrowdeleted événement. Le RowDeleting probally permet d'Annuler l'événement.
L'Affichage de la Grille se lie à des données, et permet à quelqu'un de supprimer un enregistrement: Cet événement permet d'indiquer à la grille de ce que comment pour le faire. Cette erreur est de dire "vous m'avez demandé de supprimer un enregistrement, mais vous ne m'as jamais dit comment." la RowDeleted est prévue après la suppression se produit. Pouvez-vous indiquer de quelle manière il ne fonctionne pas (même erreur, erreur différents, lblStatus.Texte ou sValue n'ont pas la valeur attendue)? merci
c'est la même erreur sur la même couleur jaune page d'erreur , l'erreur ne marche pas même montrer sur mon lblstatus étiquette. Coould c'est en quelque sorte d'avoir quelque chose à voir avec moi, la publication de la modification des fichiers de mon hôte. Je n'ai pas le message d'erreur sur mon espace local.
L'erreur ne peut pas se produire localement? Qui est impair. t-il se comporter comme prévu localement?. Ma première pensée serait de vérifier que les deux aspx et les dll ont été publiés correctement.
Je ne téléchargez le aspx et le aspx.cs fichier, je n'ai pas de créer des dll ... encore
OriginalL'auteur brian chandley