Passage d'un objet d'attributs HTML
Comment passer un objet d'attributs HTML?
Par exemple, j'ai le code suivant:
var attrs = new { id = "myid", style = "color: Red;" };
Comment convertir attrs à la chaîne comme celle-ci afin de les intégrer dans une balise HTML:
id="myid" style="color: Red;"
Merci d'avance 🙂
- Je vous remercie pour votre question! J'ai sauvé ma journée!
Vous devez vous connecter pour publier un commentaire.
Cette fonctionnalité est assez surprenant, fournis par le
RouteValueDictionary
classe:Vous pouvez ensuite utiliser ce dictionnaire en conjonction avec un
TagBuilder
, qui vous sera probablement en utilisant de toute façon: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 la
AnonymousObjectToHtmlAttributes
méthode statique.HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes)
qui gèrent correctementdata_blah
type des attributs.Vous n'avez pas besoin de convertir une chaîne de caractères. La dernière paramater HTML Helpers est un Objet.
Vous donnez simplement l'objet, comme vous avez écrit ci-dessus:
Pour exmample
sur une note de côté, vous ne devriez probablement pas être paramétrer les styles directement en ligne avec votre code HTML et utiliser une classe CSS/sélecteur de place avec une autre feuille de style.
Aussi l'ID de chaque élément du DOM devrait automatiquement être définie lorsque vous utilisez MVC, HTML helpers
Voici comment faire cette conversion :
PropertyDescriptor
appartiennent à la classeSystem.ComponentModel