Domanda

Il mio modello ha una proprietà di "uscita" e la mia forma ha una TextBox denominato "uscita", sia scritto esattamente lo stesso. Quando ho compilare il modulo e post-it, la vista di ritorno ha risultati inaspettati.

In particolare, ricevo la variabile modulo pubblicato "uscita" che viene poi legato al mio modello nel metodo di controllo, allora cambio questa variabile ad un valore diverso prima di passare al modello di nuovo alla vista.

la proprietà di uscita è registrato "una cosa" la mia proprietà modello è impostato su "un altro"

Ho questo nel mio codice: <%= Html.TextBox("output") %>

che rende a questo: <input id="output" name="output" type="text" value="one thing" />

Tuttavia, quando il debug, il modello non contenere il valore corretto ( "un altro").

Il suo utilizzando il valore di iscrizione piuttosto che il valore assegnato nel controller. Tutte le idee perché e come risolvere il problema?

È stato utile?

Soluzione

Supponendo che si sta utilizzando una vista fortemente tipizzato in questo modo:

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

E avendo un EditorFor sostituire il

<%= Html.TextBox("output") %> in questo modo <%= Html.EditorFor(p=>p.output) %>

si può fare nel vostro controller

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

Una domanda simile è stata posta qui

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top