sto usando ASP.NET MVC, e sto cercando di rendere un elenco di selezione con il metodo HtmlHelper.DropDownListFor, in questo modo:ASP.NET MVC: mettere attributi personalizzati in opzione etichetta nella lista di selezione
<%= Html.DropDownListFor(x => x.AllTopics, SelectListHelper.GetSelectListItems(Model.AllTopics), "Select a Topic", new { id = "allTopics", @class = "topic-dropdown" })%>
dove SelectListHelper solo restituisce un IList<SelectListItem>
da qualunque collezione stiamo passando. Questo funziona bene per le cose semplici, ma voglio essere in grado di aggiungere un attributo title per ogni opzione tag (non il selezionare lista stessa). Ma DropDownListFor accetta solo un IEnumerable<SelectListItem>
e il SelectListItem non ha alcun luogo che posso inserire nell'attributo del titolo.
C'è un modo per farlo senza rinunciare al metodo DropDownListFor e scrivere a mano l'elenco di selezione e ogni elemento?
Sì, questo è quello che ho finito facendo ... in pratica strappando un po 'di codice da .NET Reflector. Sembra funzionare, ma mi rende un po 'nervoso a causa di tutte le altre schifezze che sembrano fare questi metodi, che possono essere difficili da decifrare. Immagino che lo sistemeremo appena verrà. – amkessel
Non è necessario utilizzare Reflector; il codice per ASP.NET MVC è pubblicamente disponibile: http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24471 –