在asp.net mvc我总是看到内置的html帮助他们总是有对象htmlAttirbutes。
那么我通常会做新的{@id =“test”,@ class =“myClass”}。
如何在我自己的html帮助程序中提取这样的参数?
像我正在使用的“HtmlTextWriterTag”是他们的一种方式,我可以把这整个对象传递给作家,它弄清楚了什么?
这又如何与大型html帮助者合作?
像我正在制作一个html助手,它使用所有这些标签。
Table thead tfooter tbody tr td a img
解决方法
我通常做这样的事情:
public static string Label(this HtmlHelper htmlHelper,string forName,string labelText,object htmlAttributes) { return Label(htmlHelper,forName,labelText,new RouteValueDictionary(htmlAttributes)); } public static string Label(this HtmlHelper htmlHelper,IDictionary<string,object> htmlAttributes) { // Get the id if (htmlAttributes.ContainsKey("Id")) { string id = htmlAttributes["Id"] as string; } TagBuilder tagBuilder = new TagBuilder("label"); tagBuilder.MergeAttributes(htmlAttributes); tagBuilder.MergeAttribute("for",true); tagBuilder.SetInnerText(labelText); return tagBuilder.ToString(); }
我建议您从codeplex下载ASP.NET MVC源码,并查看内置的html帮助器。