2010-12-06 7 views
0

J'ai un gridview avec des cellules vides. Chaque fois que l'on clique sur une cellule, je remplace le contenu de la cellule (propriété innerHTML) par une chaîne, en utilisant javascript.Enregistrer les modifications effectuées par javascript dans un tableau (grille)

Je souhaite enregistrer ces modifications sur un tableau 2d lorsque l'index de mon combobox est modifié. Cependant, lorsque je traverse le gridview lors de mon événement selectedindexchanged, aucun des changements que j'ai apportés aux cellules n'est visible (toutes les cellules sont vides). Je suppose que les changements ne sont pas persistants.

Comment est-ce que je pourrais faire ceci?

Répondre

1

Non, les modifications ne sont pas persistantes. Vous devriez faire quelques lectures sur la façon dont les formulaires sur le Web fonctionnent - pas seulement sur asp.net - pour avoir une meilleure compréhension. Fondamentalement, votre événement SelectedIndexChanged est vraiment un POST d'un formulaire sur votre page. Seules les valeurs de formulaire, comme celles des champs <input> ou <select> seront envoyées au serveur et pourront être traitées dans votre code C#. Donc, une option serait d'avoir une entrée cachée pour chaque cellule de votre GridView. Un autre serait d'avoir une seule entrée cachée qui stocke une représentation de chaîne d'un tableau 2d, et vous manipuleriez cela avec JavaScript chaque fois que vous changez le contenu d'une cellule. Ensuite, lorsque vous traitez ces données dans votre code C#, vous devez traiter les entrées cachées, pas les cellules de GridView.

Questions connexes