Comment ajouter des attributs html supplémentaires dans l'extension pour DropDownListFor
Je suis en train d'écrire une extension pour DropDownListFor
:
public static MvcHtmlString DropDownListFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, IEnumerable<SelectListItem> selectList, object htmlAttributes, bool enabled)
{
return htmlHelper.DropDownListFor(expression, selectList, null /* optionLabel */, HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes));
}
Ce que je veux réaliser est si activé est faux pas de changement, mais, si l'option activé est vrai, je veux ajouter des @disabled="disabled"
pour les attributs html avant de les donner à AnonymousObjectToHtmlAttributes
.
Des idées sur comment faire cela?
source d'informationauteur AnonyMouse
Vous devez vous connecter pour publier un commentaire.
Simple!
HtmlHelper.AnonymousObjectToHtmlAttributes
retourneRouteValueDictionary
. Vous pouvez ajouter de la valeur à ce dictionnaire, vous n'avez pas besoin d'ajouter une propriété à un objet.Solution par archil œuvres. Cependant, pour ce que vous essayez de faire de l'écriture une extension est un overkill.
Il suffit d'écrire votre point de vue quelque chose comme: