2009-02-26 5 views
9

Ich habe eine GridView, die eine Reihe von Elementen auflistet und eine der Spalten hat einen Link, der ein modales anzeigt (AjaxToolkit ModalPopupExtender). Nennen wir diesen Link "Show". In diesem modal habe ich eine asp: -Schaltfläche zum Speichern der in diesem modal eingegebenen Daten. Lassen Sie uns diese Schaltfläche "Speichern"Gibt es eine Möglichkeit, ein CommandArgument der asp.net-Schaltfläche in JavaScript zu setzen?

Also wenn der Benutzer auf eine "Show" -Link in einer bestimmten Zeile klickt, möchte ich etwas Javascript schreiben, die etwas in der Schaltfläche "Speichern" setzt, so dass in meinem Code- hinterher kann ich "Save" .Command behandeln und den CommandEventArgs-Parameter verwenden, um den Wert abzurufen.

Ist das möglich, oder muss ich nur ein verstecktes Eingabe-Tag verwenden und seinen Wert festlegen?

Antwort

13

Nun, nach der Fortsetzung der Forschung sieht es so aus, als ob es nicht getan werden kann. Die CommandArgument-Eigenschaft befindet sich möglicherweise in ViewState, aber in diesem Fall ist sie vollständig serverseitig und kann nicht mithilfe von JavaScript geändert werden.

20

keine direkte Antwort auf Ihre Frage, aber eine andere Möglichkeit, das Problem zu lösen:

Platz ein HiddenField Steuerelement auf der Seite. Bevor Sie das modale Popup anzeigen, müssen Sie in Ihrem Code-Behind den Wert dieses Steuerelements auf die ID der Zeile festlegen, auf die geklickt wurde (oder die Zeilennummer oder einen identifizierenden Wert). Dann können Sie im Code hinter der Schaltfläche Speichern einfach den Wert von HiddenField lesen.

+0

Danke Brant. Sieht aus wie das ist die Problemumgehung. – slolife

0

Wenn Sie Updatepanel verwenden, müssen Sie das Hiddenfield im Updatepanel platzieren. Andernfalls können Sie den in hiddenfield gespeicherten Wert nicht abrufen/setzen.

Verwandte Themen