J'essaye de créer des listes déroulantes automatiquement dans mon projet en créant ma propre méthode d'aide HTML qui prend un code de "groupe déroulant" et construit automatiquement le code HTML. Cependant, il doit le faire tout en soutenant pleinement le modèle.Personnalisation DropdownFor dans ASP.NET MVC2
Mon code de fin doit ressembler à ceci.
<%: Html.CodeList(m => m.state, 121) %>
... où "121" est le groupe de code qui renvoie un dictionnaire de paires clé/valeur de la base de données.
Voici ce que j'ai pour ma méthode d'assistance Html jusqu'à maintenant.
public static MvcHtmlString CodeList<T, TProp>(this HtmlHelper<T> html, Expression<Func<T, TProp>> expr, int category)
{
Dictionary<int, string> codeList = CodeManager.GetCodeList(category); //returns dictionary of key/values for the dropdown
return html.DropDownListFor(expr, codeList, new Object()); //this line here is the problem
}
Je ne peux pas comprendre comment ce exactement à la main à la méthode DropDownListFor. Je suppose que je retourne html.DropDownListFor() mais il me manque quelque chose d'évident. De l'aide?
Comment recommanderiez-vous que je sépare le "GetCodeList" sans avoir à l'appeler moi-même chaque fois que je veux une liste déroulante? –