Kontext
Sagen wir, ich habe:
Im Layout Site.Master:
Login Teilansicht sieht wie folgt aus:
%Vor%Ist es möglich, nur das Login-Widget-Formular und nicht die gesamte Inhaltsseite zu aktualisieren?
Wenn Sie sich auf einen http-Post beziehen, wird nur ein Post (der auch von javascript initiiert werden kann) durch einen Submit-Button innerhalb des Formulars auf dem Server veröffentlicht.
Wenn Ihre Formulare verschachtelt sind, funktioniert das nicht. Das äußere Formular wird immer auf dem Server veröffentlichen.
Im folgenden HTML-Beispiel werden beim Klicken auf die Schaltfläche zum Übermitteln des ersten Formulars die Werte aus dem zweiten Formular nicht an den Server gesendet. Wenn Sie auf die zweite Schaltfläche klicken, werden die Werte des ersten Formulars ebenfalls nicht veröffentlicht.
%Vor%Wenn Sie nur einen Formularabschnitt aktualisieren / ändern möchten, dann kann dies nicht ohne Javascript und die Ausführung eines Javascript Posts (aka Ajax ).
Wenn Sie eine Controller-Methode erstellen, die eine FormCollection akzeptiert und in Ihrer Ansicht zwei Formulare definiert sind, wird die zurückgegebene Formulargruppe entweder mit Werten aus Formular A oder Formular B gefüllt. Sie können die formCollection überprüfen und basierend auf dem Wert Ihre Logik verzweigen darin. Wenn Sie möchten, dass das sehr explizit ist, könnten Sie die gleiche versteckte Variable in beiden Formen mit einem Wert auftreten, der Ihnen helfen würde, Ihre Wahl zu treffen.
Das ist ein Ansatz. Es gibt ein paar Möglichkeiten, damit umzugehen, da bin ich mir sicher.
Wenn Sie zwei einfache Formulare haben, können Sie diesen Ansatz verwenden:
Sie erstellen zwei verschiedene Teilansichten.
%Vor%und
%Vor%In Ihrer übergeordneten Ansicht
%Vor%und
%Vor%Im Controller:
%Vor%Dies wird tun, was Sie tun möchten.
Hinweis: Die getHtmlContent-Methode generiert nur eine Fehlermeldung, die auf der Seite angezeigt wird. Nichts Besonderes. Ich kann es bei Bedarf teilen.
Ihre Frage ist nicht sehr klar.
Aber soweit ich das verstehen kann, ist die Antwort höchstwahrscheinlich ja. Sie können alles, was Sie wollen, abhängig von der Benutzereingabe aktualisieren.
Tags und Links asp.net-mvc forms post