如何将对象传递给HTML属性?
var attrs = new { id = "myid", style = "color: Red;" };
如何将属性转换为如下字符串以将其嵌入HTML标记:
id="myid" style="color: Red;"
提前感谢:)
如何将对象传递给HTML属性?
var attrs = new { id = "myid", style = "color: Red;" };
如何将属性转换为如下字符串以将其嵌入HTML标记:
id="myid" style="color: Red;"
提前感谢:)
令人惊讶的是,这个功能是由RouteValueDictionary
类提供的:
IDictionary<string, object> htmlAttributes = new RouteValueDictionary(attrs);
然后,您可以将本词典与TagBuilder
结合使用,您可能会使用TagBuilder
:
var tagBuilder = new TagBuilder("input");
tagBuilder.MergeAttributes(htmlAttributes);
tagBuilder.ToString(TagRenderMode.Normal);
您可以在ASP中看到这一点.NET MVC源代码本身;其中一个简单的例子是in TextAreaExtensions.cs.
EDIT:
为了正确地将"数据属性"转换为"数据属性",请使用AnonymousObjectToHtmlAttributes
静态方法.
IDictionary<string, object> htmlAttributes = HtmlHelper.AnonymousObjectToHtmlAttributes(attrs);