.NET MVC, Ajax Formular behält die alte input-Werte - so aktualisieren Sie das Modell Wert?
Ich habe eine einwandfrei funktionierende ajax-Formular in meine MVC3 Anwendung der Ausnahme für eine Einschränkung. Nachdem ich das Formular abschicken und das Ergebnis zu erhalten, auch wenn die übergebene Modell hat einen anderen Wert für den input (Menge in dem Beispiel unten) der alte Wert wird weiterhin auf dem Bildschirm angezeigt. Ich Schreibe das der Wert gespeichert wird, in die DOM-und überschreiben/verhindern Sie den neuen Wert aus dem Modell. Es gibt verschiedene Möglichkeiten, dieses Problem zu beheben, durch ausführen einer javascript-Funktion auf einer der Formular-Ereignisse.
Ich möchte erhalten Sie feedback zu was ist der beste Weg, um diese situation zu behandeln, vorzugsweise native MVC und ohne javascript. Hier sind die code-snippets:
Übergeordneten Ansicht:
<div id="MyContainder">
@Html.Partial("MyPartialView", ClassContainingAmountProperty)
</div>
Teilansicht:
@using (Ajax.BeginForm(actionName: "myaction",
ajaxOptions: new AjaxOptions() UpdateTargetId = "MyContainder"})
@Html.EditorFor(x => x.Amount)
<input type="submit" value="Save" />
)
Controller
myModel.Amount = SomeNewNumber;
return PartialView(myModel); //same partial view returned but with new amount
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sobald ich die Frage fand ich die Antwort!
ASP.NET MVC-3 Ajax.BeginForm und Html.TextBoxFor spiegeln nicht änderungen auf dem server
Rufen Sie
in die Handlung hinein, bevor er die Teilansicht
myModel.Amount
können Sie nurModelState.Remove("Amount")
Versuchen Sie, in