Frage

hat mein Modell eine Eigenschaft von „Output“ und meine Form hat einen Text namens „output“, beide geschrieben genau das gleiche. Wenn ich das Formular ausfüllen und per Post, die Rückansicht unerwartete Ergebnisse hat.

Insbesondere erhalte ich die geschrieben „output“ Form Variable, die dann zu meinem Modell in der Controller-Methode gebunden ist, dann habe ich diese Variable auf einen anderen Wert ändern, bevor ich das Modell zurück zur Ansicht übergeben.

Die gesendete Ausgabeeigenschaft ist „eine Sache“ meine Modell-Eigenschaft auf „anderen“

gesetzt

Ich habe in meinem Code: <%= Html.TextBox("output") %>

Was macht diesen: <input id="output" name="output" type="text" value="one thing" />

Wenn jedoch das Debuggen, das Modell hat enthalten den richtigen Wert ( "andere").

Die mit dem Wertansatz, anstatt den Wert in der Steuerung zugeordnet. Irgendwelche Ideen, warum und wie man es beheben?

War es hilfreich?

Lösung

Angenommen, Sie eine stark typisierte Ansicht verwenden wie folgt:

<%@ Page ... Inherits="System.Web.Mvc.ViewPage<...TestModel>" %>

Und mit einem EditorFor ersetzen Ihrem

<%= Html.TextBox("output") %> wie so <%= Html.EditorFor(p=>p.output) %>

Sie können in dem Controller tun

ModelState.SetModelValue("output", new ValueProviderResult("Some string", string.Empty, new CultureInfo("en-US")));

Eine ähnliche Frage wird gebeten, hier

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top