2010-08-09 16 views
11

Existe-t-il une fonctionnalité Html.NameFor déjà implémentée qui obtient l'attribut html name pour un élément de modèle?HtmlHelper NameFor méthode

I'l aiment utiliser le code suivant à mon avis Razor:

<input type="text" value="@Model.User.Email" name="@Html.NameFor(x => x.User.Email)"> 
+0

Je ne sais pas, je vous suis - ce que HTML espérez-vous rendre? –

+0

Le point dans une aide HTML est de rendre HTML. Toute la question ci-dessus est le rendu en texte brut - utilisez 'name =" @ Model.User.Email "'. –

+0

duplication possible de [Comment obtenir le nom du formulaire pour une propriété] (http://stackoverflow.com/questions/7327215/how-to-get-the-form-name-for-a-property) – Liam

Répondre

3

Si vous voulez juste pour obtenir la valeur d'un attribut name qui fonctionnera lors de la liaison de l'entrée à votre modèle que vous pourriez utilisez la méthode ExpressionHelper.GetExpressionText. Cependant, l'invoquer impliquerait de la gymnastique par code.

Que diriez-vous juste d'utiliser l'assistant TextBoxFor?

@Html.TextBoxFor(Model => Model.User.Email)