.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
InformationsquelleAutor Alex | 2012-03-01
Schreibe einen Kommentar