Pregunta

Mi modelo tiene una propiedad de "salida" y mi forma tiene un cuadro de texto llamado "salida", tanto escrito exactamente lo mismo. Cuando llene la forma y que lo ponga, la vista de regresar tiene resultados inesperados.

Específicamente, recibo el "output" variable de formulario publicado que después se une a mi modelo en el Método Controller, entonces puedo cambiar esta variable a un valor diferente antes de pasar el Modelo de nuevo a la vista.

la propiedad de salida publicado es "una cosa" Modelo de mi propiedad se establece en "otra"

Tengo esto en mi código: <%= Html.TextBox("output") %>

que hace a este: <input id="output" name="output" type="text" value="one thing" />

Sin embargo, cuando la depuración, el Modelo hace contiene el valor correcto ( "otros").

Su usando el valor publicado en lugar del valor asignado en el controlador. Cualquier idea por qué y cómo solucionarlo?

¿Fue útil?

Solución

Si se asume que está utilizando una visión inflexible de este modo:

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

Y teniendo un EditorFor la sustitución de su

<%= Html.TextBox("output") %> al igual que <%= Html.EditorFor(p=>p.output) %>

se puede hacer en su controlador

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

Una pregunta similar se ha pedido aquí

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top