J'essaie de refactoriser du code couramment utilisé dans une extension d'aide et je suis bloqué par la syntaxe, en grande partie parce que je n'ai pas une maîtrise totale des génériques, des expressions lambda, etc.
J'aimerais pouvoir mettre cela dans ma vue, et qu'elle utilise le champ de mon modèle (par exemple FirstName) pour produire du HTML qui utilise d'autres extensions de Razor :
@MyHelpers.BootstrapFormItem(m => m.FirstName)
En ce moment, j'ai :
@using System.Web.Mvc;
@using System.Web.Mvc.Html;
@using System.Linq;
@using System.Linq.Expressions;
@helper BootstrapFormitem(XXXXXXXXX)
{
<div class="control-group">
@Html.LabelFor(XXXXXXX)
<div class="controls">
@Html.DisplayFor(XXXXX)
@Html.ValidationMessageFor(XXXX)
</div>
</div>
}
Questions :
- Est-ce la bonne approche ? J'aimerais pouvoir utiliser cette méthode avec n'importe quel champ de viewmodel.
- Ai-je inclus les bons espaces de noms ? Ceci va aller dans le dossier app_code
- Qu'est-ce qui va dans XXXXXX ?