DropDownListFor avec un attribut personnalisé avec - dans le nom de l'attribut?
Question: j'ai besoin de créer un dropdownlist comme ceci:
<select id="ddCustomers" data-placeholder="Choose a customer" class="chzn-select" style="width:350px;" tabindex="1" multiple>
Maintenant, je peux ajouter des attributs personnalisés comme ceci:
@Html.DropDownListFor(m => m.Id, Model.Values, new { @disabled = "disabled" })
Malheureusement, si il y a un "-" dans le nom de la variable, alors il n'est pas compilé.
@Html.DropDownListFor(m => m.Id, Model.Values, new { @disabled = "disabled", @data-placeholder = "whatever" })
Et le multiple, qui n'a pas de valeur d'attribut ?
Si je passe un Dictionnaire ou un NameValueColletion au lieu de la new { @disabled = "disabled" }
, puis il affiche les propriétés de la NameValueColletion/Dictionnaire...
Comment puis-je passer les attributs de caractères spéciaux dans l'attribut clé ?
- double possible de trait d'union attributs html avec asp.net mvc
Vous devez vous connecter pour publier un commentaire.
Utiliser un trait de soulignement au lieu
Depuis Mvc3 "_" est remplacé par "-" lors du rendu.
Cela fonctionne bien comme le souligne ne sont pas acceptables dans les noms d'attributs dans le code html.
Ah, c'est facile.
L'erreur a été de déclarer un dictionnaire de
<string, string>
au lieu d'un dictionnaire de
<string, object>
(et d'utiliser des variables plutôt que des propriétés de cOption)...Avec le dictionnaire de
<string, string>
il utilise l'objet "paramlist" la surcharge, au lieu deIDictionary<string, object>
😉ou plus Linqiq: