Obtenir le rowIndex d'un ASP.Net Gridview à l'aide de jQuery
Bonjour, est-il possible d'obtenir le courant rowindex d'un gridview à l'aide de jQuery?
Peu de fond:
Je supprimer des lignes d'une gridview côté serveur à l'aide d'un bouton de lien dans un champ de modèle comme suit:
<asp:LinkButton CausesValidation="false" CommandName="Delete" ID="lnkDelete"
OnClientClick="javascript: return(confirm('Delete item?'));" runat="server" Text="Delete" />
Qui invite l'utilisateur à confirmer ou d'annuler la suppression. Si l'utilisateur clique sur OK, il appelle ensuite cette méthode dans le code-behind:
protected void GridViewRowDeleting(object sender, GridViewDeleteEventArgs e)
{
this.gridview_uploads.EditIndex = -1;
if (!this.UploadsList.Count.Equals(0))
{
DocumentUpload upload = this.UploadsList[e.RowIndex];
if (upload != null)
{
this.UploadsList.RemoveAt(e.RowIndex);
this.BindInputGridview();
}
}
}
Mais le javascript confirmer (Supprimer?) l'air un peu nul.
Je préfèrerais utiliser quelque chose comme du JQuery dialogue, mais si je le fais, je n'ai aucune idée de comment attraper le rowindex à l'aide de cette approche (je ne peux comprendre comment appeler le code serveur).
Des idées?
Désolé si cela a déjà été posée, j'ai fait un chalut de soi et Googlé, mais ne pouvait pas trouver quelque chose d'utile.
OriginalL'auteur adrianos | 2010-09-29
Vous devez vous connecter pour publier un commentaire.
Si le
LinkButton
est le seul LinkButton/Ancrage au sein de la GridView, alors vous devriez être en mesure de faire quelque chose commeedit: modifier la #GridView1 à l' .net ID de la commande.
vb
c#
Répondre à adrianos
Si vous regardez dans le jQuery UI Dialog, c'est une belle Modal boîte de Confirmation.
De la même manière que le code ci-dessus, mais en remplaçant le confirmer fonction, vous pourriez avoir:
voir mes modifications ci-dessus.
Salut Tim, c'est une bonne idée, mais dès que je clique sur le bouton supprimer, il s'exécute côté client et côté serveur code simultanément, sans doute parce que j'ai pris la OnClientClick gestionnaire sur le bouton lien.
si vous return false après l'ouverture de la boîte de dialogue, il arrêtera le bouton de soumission. Mais vous aurez besoin de trouver un moyen de puis en envoyant les cliqué sur le bouton à l'aide du javascript. deviantpoint.com/post/2009/03/12/... est un lien vers une page qui a une solution pour le faire avec un seul bouton. Peut-être que vous pourriez adapter ce travail à l'intérieur de votre gridview?
J'ai juste travaillé sur une solution similaire mais à l'aide d'un champ caché et __ _ _ doPostBack à la place. J'aimerais voter votre réponse comme "la réponse", mais ce n'est pas la façon dont je l'ai fait et je ne veux pas tromper personne.
OriginalL'auteur Tim B James
J'ai trouvé comment faire cela en utilisant l' __doPostBack méthode (en Javascript)
>>> Dans le aspx:
Champ caché:
Dans une balise script:
Sur le contrôle gridview:
>>> Dans le code-behind
Sur Page_Load:
Nouvelle méthode appelée par le page_load:
À penser à elle, je l'aurais probablement fait l'asp:HiddenField régulièrement html cachés de contrôle d'entrée que le côté serveur, sans jamais avoir besoin de le voir.
Il se sent un peu ropey alors n'hésitez pas à jeter des pierres à moi /à suggérer des améliorations.
OriginalL'auteur adrianos
Ajouter un attribut personnalisé à votre grille et définissez la valeur sur la liaison de l'événement
À l'aide .net clientId obtenir la valeur de l'attribut personnalisé.
OriginalL'auteur bitsmonkey