htmlAttributes をメソッドに渡したいのobject
ですが...
foo.HtmlAttributes(new { data_bind = "foo"});
アンダースコアをハイフンとして使用したすべての MVC HtmlHelpers で、有効な html が出力されます。"data-bind"
ボンネットの下で、これは次の質問に従って起こっていることです:
オブジェクト HtmlAttributes から値を取得する方法
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 を出力するにはどうすればよいですか?
更新 Zabavskyのおかげで...
public virtual void HtmlAttributes(object htmlAttributes)
{
this.Attributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes);
}