4
我想htmlAttributes爲object
傳遞給像這樣的方法......如何獲得有效的HTML屬性out對象htmlAttributes時屬性爲「數據 - *」
foo.HtmlAttributes(new { data_bind = "foo"});
在所有MVC HtmlHelpers我已經使用下劃線作爲一個連字符,這將輸出有效的HTML "data-bind"
在這到底是怎麼回事按照以下幾個問題罩:
How to get values out of object HtmlAttributes
Passing an object to HTML attributes
public virtual void HtmlAttributes(object htmlAttributes)
{
this.Attributes = new RouteValueDictionary(htmlAttributes);
}
然後後者將其稱爲:
internal virtual void ApplyConfiguration(TagBuilder tag)
{
tag.MergeAttributes(this.Attributes);
}
然而,這將輸出:
<div data_bind="foo"></div>
我能做些什麼,以輸出有效的HTML?
UPDATE 由於Zabavsky ...
public virtual void HtmlAttributes(object htmlAttributes)
{
this.Attributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes);
}
您可以使用[HtmlHelper.AnonymousObjectToHtmlAttributes方法](http://msdn.microsoft.com/en-us/library/system.web.mvc.htmlhelper.anonymousobjecttohtmlattributes(v = vs.108).aspx)。它用連字符代替下劃線字符。 – Zabavsky
謝謝,添加一個答案,我會接受。 – SimonGates
很高興我能幫到你。 – Zabavsky