Pergunta

O meu modelo tem uma propriedade de "output" e meu formulário tem uma caixa de texto com o nome "output", tanto escrito exatamente o mesmo. Quando eu preencher o formulário e publicá-la, a visão retornando tem resultados inesperados.

Especificamente, eu receber o "output" variável de formulário publicado, que é então ligado ao meu modelo no método Controller, então eu mudar esta variável para um valor diferente antes de eu passar a volta Modelo para a vista.

a propriedade de saída postada é "uma coisa" minha propriedade modelo é definido como "outra"

Eu tenho isso no meu código: <%= Html.TextBox("output") %>

O que torna a isto: <input id="output" name="output" type="text" value="one thing" />

No entanto, quando a depuração, o Modelo faz conter o valor correto ( "outro").

A sua usando o valor afixado em vez do valor atribuído no controlador. Alguma idéia por que e como corrigi-lo?

Foi útil?

Solução

Assumindo que você está usando uma visão fortemente tipado assim:

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

E ter um EditorFor substituir o seu

<%= Html.TextBox("output") %> como assim <%= Html.EditorFor(p=>p.output) %>

você pode fazer em seu controlador

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

Uma pergunta semelhante foi perguntado aqui

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top