Chức năng này, đáng ngạc nhiên đủ, được cung cấp bởi lớp RouteValueDictionary
:
IDictionary<string, object> htmlAttributes = new RouteValueDictionary(attrs);
Sau đó bạn có thể sử dụng từ điển này kết hợp với số TagBuilder
, có thể bạn sẽ vẫn sử dụng:
var tagBuilder = new TagBuilder("input");
tagBuilder.MergeAttributes(htmlAttributes);
tagBuilder.ToString(TagRenderMode.Normal);
Bạn có thể thấy điều này được thực hiện trong chính mã nguồn ASP.NET MVC; một trong những ví dụ đơn giản hơn là ở TextAreaExtensions.cs.
EDIT:
Để chuyển đổi đúng "data_attr" thành "dữ liệu attr", sử dụng AnonymousObjectToHtmlAttributes
phương pháp tĩnh.
IDictionary<string, object> htmlAttributes = HtmlHelper.AnonymousObjectToHtmlAttributes(attrs);
Cảm ơn bạn đã đặt câu hỏi về bạn! Tôi đã cứu ngày của tôi! – Sergey