Pergunta

Estou procurando um conjunto de práticas recomendadas para ser implementado IModelBinder.

Eu li três livros diferentes de MVC e cada um faz algumas coisas ligeiramente diferentes em suas implementações sem nenhuma explicação real.

  • O livro de Hanselman, Haack, Guthrie, Conery nem menciona IModelBinder
  • Palermo recomenda estender DefaultModelBinder em vez de implementação direta de IModelBinder, mas eu realmente não vejo como alavancar os benefícios
  • Sanderson menciona atualizar instâncias de modelo existentes, além de ligar ModelState.SetModelValue() para seguir a convenção.

Eu só quero ter certeza de que meus ligantes de modelo estão seguindo convenções e que eu entendo adequadamente o inteiro ModelBindingContext.

Alguma dica, truques, bons tutoriais para recomendar?

Foi útil?

Solução

K Scott Allen tem algumas dicas sobre a ligação do modelo:http://odetocode.com/blogs/scott/archive/2009/04/27/6-tips-for-asp-net-mvc-model-binding.aspx.

Outras dicas

Eu herdei do DefaultModelBinder, porque ele liga automaticamente as propriedades básicas na entidade. Eu o aprimorei, por isso liga também propriedades de navegação. Meu fichário executa a ligação herdada primeiro e depois procura por valores adicionais de propriedades de navegação no formulário. Eu acho que sua abordagem deve depender do que você realmente quer fazer. Você também pode usar o refletor e ver o que realmente fica por trás do fichário padrão. Isso pode convencê -lo a herdar.

Travis Illig recentemente escreveu um artigo muito bom sobre a validação do tipo de dados ao criar um fichário de modelo personalizado.

Eu nunca vi esse conselho antes e achei muito bom - então eu queria contribuir com este link: http://www.paraesthesia.com/archive/2012/01/31/data-type-validation-and-model-binding-in-asp-net-mvc.aspx

MVC Futures 2 tem um sistema de ligação de modelo extensível. Você pode descobrir mais na documentação de lançamento em http://aspnet.codeplex.com/releases/view/41742

Basta baixar "ASP.NET MVC 2 FUTURES MODELA FUTURA DOCUMENTAÇÃO DO MODELO"

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