Ich versuche, mit ASP.NET ein asynchrones Postback zu erstellen __doPostBack()
, habe aber keine Ahnung, wie das geht. Ich möchte Vanille-JavaScript verwenden.
Etwas Einfaches wie ein Klick auf eine Schaltfläche kann dazu führen, dass das __doPostBack()
Ereignis ausgelöst wird. Ich versuche nur zu lernen, wie der Mechanismus funktioniert.
c#
javascript
asp.net
postback
Michael Kerute
quelle
quelle
__doPostBack
nicht unterstützt. Wenn Ihre Seite nichts enthält, was ein Postback auslöst, kann es sein, dass asp.net die Definition der__doPostBack
Funktion unterlässt . Der unterstützte Ansatz ist der AufrufClientScriptManager.GetPostBackEventReference
, der eine Zeichenfolge im Formular zurückgibt__doPostBack(...)
und sicherstellt, dass diese__doPostBack
definiert ist.Antworten:
Sie können dies in Ihrem Webformular mit einer Schaltfläche namens btnSave versuchen, zum Beispiel:
Und fügen Sie in Ihrem Code dahinter so etwas hinzu, um den Wert zu lesen und ihn zu bearbeiten:
Probieren Sie es aus und lassen Sie uns wissen, ob das für Sie funktioniert hat.
quelle
Dies ist auch eine gute Möglichkeit, serverseitige Steuerelemente in FancyBox und / oder jQuery Dialog zum Postback zu bringen . Zum Beispiel in FancyBox-div:
JavaScript:
Serverseitiges Page_Load:
quelle
ClientIDMode="Static"
Attribut vonMyButton
, damit ASP die ID der Schaltfläche nicht entstellt.Hier ist ein kurzes Tutorial, wie es
__doPostBack()
funktioniert.Um ehrlich zu sein, benutze ich es nicht viel; zumindest direkt. Viele Server - Steuerelemente, ( zum Beispiel
Button
,LinkButton
,ImageButton
, Teile derGridView
etc.) Verwendung__doPostBack
als Postback - Mechanismus.quelle
Ich möchte diesem Beitrag nur etwas hinzufügen für
asp:button
. Ich habe clientId ausprobiert und es scheint bei mir nicht zu funktionieren:Das Abrufen der UniqueId scheint jedoch wie folgt auf den Server zurückzusenden:
Dies könnte in Zukunft jemand anderem helfen und dies daher veröffentlichen.
quelle
ClientID
, weil ich es benutzt habeClientIDMode = Static
. MitUniqueID
gearbeitet.Alte Frage, aber ich möchte noch etwas hinzufügen: Beim Aufruf können
doPostBack()
Sie die Server-Handler-Methode für die Aktion verwenden.Zum Beispiel:
Wird auf dem Server ausgelöst:
Ich habe keinen besseren Weg gefunden, um das Argument zu verstehen, also benutze ich es immer noch
Request["__EVENTARGUMENT"]
.quelle
Wie bereits erwähnt, müssen Sie der __doPostback () -Methode die UniqueID des Steuerelements bereitstellen.
Auf dem Server werden die übermittelten Formularwerte durch den identifizierten Namen Attribut der Felder in der Seite.
Der Grund, warum UniqueID funktioniert, ist, dass UniqueID und Name tatsächlich dasselbe sind, wenn das Serversteuerelement in HTML gerendert wird.
Hier ist ein Artikel, der beschreibt, was die UniqueID ist:
quelle
So mache ich es
quelle