Cette fonctionnalité est assez surprenant, fourni par l' RouteValueDictionary
classe:
IDictionary<string, object> htmlAttributes = new RouteValueDictionary(attrs);
Vous pouvez ensuite utiliser ce dictionnaire en conjonction avec un TagBuilder
, ce qui, vous utiliserez probablement de toute façon:
var tagBuilder = new TagBuilder("input");
tagBuilder.MergeAttributes(htmlAttributes);
tagBuilder.ToString(TagRenderMode.Normal);
Vous pouvez voir cette façon de faire dans le ASP.NET MVC code source lui-même; l'un des exemples les plus simples est de TextAreaExtensions.cs.
EDIT:
Dans le but de les convertir "data_attr" pour les données "attr", utilisez l' AnonymousObjectToHtmlAttributes
méthode statique.
IDictionary<string, object> htmlAttributes = HtmlHelper.AnonymousObjectToHtmlAttributes(attrs);