Pergunta

Eu estou tentando descobrir se há um construído em forma em ASP.NET MVC para atribuir os valores do formulário que são POST'd volta para as propriedades do ViewModel que foi originalmente enviado para o View?

Então, eu estou pensando ao longo das idéias de decorar algumas das propriedades no ViewModel com um atributo e, em seguida, refletindo sobre o ViewModel e usar esse nome para extrair valores (e coagir) do objeto Form [].

No entanto, eu imagino que algo como isso já foi construído e por isso não quer re-inventar a roda aqui.

O problema que eu estou tentando resolver é que um usuário clica em um botão em um formulário e o servidor valida os dados e se houver erros, voltamos ao usuário o formulário usando o mesmo ViewModel para transportar os dados e assim, preencher os valores de volta para o formulário que o usuário originalmente introduzido.

(Sim, eu também estou fazendo a validação do lado do cliente usando JavaScript para tornar este leve, mas para a segurança que tenho a validação repita no servidor.)

Idéias?

Foi útil?

Solução

Você pode usar UpdateModel ou TryUpdateModel em seu controlador.

Eu recomendo usar uma das sobrecargas em que você especificar os campos a serem atualizados.

Esta é discutido em detalhe na página 78 do Wrox Professional ASP.net ebook (ou EChapter!)

Outras dicas

Eu não acho MVC tem nada parecido com isso embutido, ou pelo menos eu não vi nada. Seria bom embora como muitos outros frameworks MVC fazer isso (struts por exemplo).

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