Ausführen der jQuery-Funktion für PostBack (ASP.NET)

8

Ich habe ein Formular, das zunächst über jQuery ausgeblendet wird, und auf Knopfdruck erscheinen zwei Optionsfelder (ebenfalls anfänglich über jQuery ausgeblendet). Mit einem Klick auf einen Radiobutton wird der Benutzer auf eine andere Seite umgeleitet (das funktioniert einwandfrei). Beim Klick auf den anderen Radiobutton wird "the form" über jQuery wieder sichtbar gemacht.

Mein Problem tritt auf, wenn ein Feld innerhalb des 'Formulars' serverseitig beim Senden validiert wird und die Seite erneut mit der sichtbaren Validierungsfehlermeldung geladen wird, ABER das 'Formular' ist jetzt ausgeblendet (wie bei der anfänglichen jQuery unten).

Wie kann ich das Formular beim Postback sichtbar machen?  (Ich habe ASP Panels & amp; AJAX UpdatePanel bereits vergeblich versucht.)

** Das ist meine jQuery: **

%Vor%

Neu hinzugefügte JavaScript-Implementierung (nach Moars Vorschlag) funktioniert das immer noch nicht, irgendwelche Ideen? :(:

JavaScript:

%Vor%

C #:

%Vor%     
Dan 19.06.2011, 17:47
quelle

3 Antworten

5

Das klingt vielleicht ziemlich ärgerlich, aber um das zu erreichen

Ich würde versteckte Werte verwenden Sagen Sie, wenn Sie das Formular öffnen, den ausgeblendeten Wert auf 1 zu aktualisieren,

HTML-Seite

%Vor%

C # codebegleit

%Vor%

JavaScript-Funktion

%Vor%

Die zweite Option wäre, einen serverseitigen Postback zu vermeiden und JQuery zu verwenden, um einen komplett clientbasierten Post zu erstellen und somit das Postback zu eliminieren

    
P6345uk 07.07.2011 09:15
quelle
3

Ich würde empfehlen, das gesamte Javascript, das Sie gezeigt haben, in eine Funktion zu stellen. Nehmen wir an, Sie setzen dieses Beispiel in eine Funktion namens

%Vor%

Platziere das dann in deinem Code-Behind in einem der Seiten-Events (ich würde page_load empfehlen)

%Vor%

Dadurch wird JavaScript auf der Seite eingefügt, auf der Ihre Funktion nur ausgeführt wird, wenn die Seite ein Post-Back ist.

    
MoarCodePlz 19.06.2011 17:51
quelle
1

Wenn ein Postback auftritt, gehen alle Änderungen, die Sie über jQuery an der Seite vorgenommen haben, verloren.

Ich bin mir nicht sicher, ob Sie UpdatePanels verwenden, aber in diesem Fall gibt es zusätzliche Probleme. Lesen Sie hierzu: jQuery $ (document) .ready und UpdatePanels?

Wenn Sie keine UpdatePanels verwenden, würde ich sagen, dass Sie das Formular nur während des Postbacks (form.visible) auf der Serverseite sichtbar machen müssen.

Das asp.net Webforms Modell ist wirklich nützlich, aber es wurde definitiv nicht mit jQuery erstellt. Meiner Meinung nach, wenn Sie die Web 2.0-Art des Ansatzes optimal nutzen wollen, sollten Sie darüber nachdenken, Postbacks / updatepanels zu entfernen und mehr mit Webdiensten zu tun und so weiter ... Persönlich zieht dies definitiv an ich unaufhaltsam gegenüber MVC.

    
Brian MacKay 19.06.2011 17:54
quelle

Tags und Links