2010-03-02 4 views
0

Je aa simple inscription DTO avec plusieurs propriétés piquent: Nom d'utilisateur, mot de passe, EmailEn utilisant fortement typées aides HTML avec vue composite

à la vue que je passe dans un ViewModel, qui se fortement typé a le registrationDTO mais a également des propriétés supplémentaires à afficher dans la vue. Lorsque vous utilisez des helpers html fortement typés, sur les propriétés registrationDTO, je dois dire Html.EditorFor (model => model.registrationDTO.Username), qui génèrerait alors le nom et l'identifiant du champ comme "registrationDTO.Username "et « registrationDTO_Username »

J'ai essentiellement deux questions:

  1. est-il possible d'avoir l'aide HTML fortement typé prendre dans un objet au lieu de celui qui a été adoptée dans la vue, de sorte que Je pourrais passer en enregistrementDTO?

  2. Si ce n'est pas possible, est-il possible que l'assistant HTML affiche le nom et l'identifiant sans la première partie (le "registrationDTO"). Presque similaire à la façon dont le préfixe fonctionne dans ModelBinding.

Répondre

0

ad 1. Vous ne devez pas mettre objet dans HtmlHelper, vous pouvez utiliser HtmlHelper et de fournir uniquement le nom et/ou de la valeur pour elle

ad 2. la raison pour laquelle HtmlHelper génère que profix est que votre modèle contient la classe RegistrationDTO qui contient UserName, Password et Email. Si vous voulez vous débarrasser du préfixe, mettez directement ces 3 champs dans votre modèle

Questions connexes