我在做一个自定义的 htmlhelper,它的目的是构建一个ul
,问题是它返回encoded html
并且我无法绕过它。我尝试使用html.raw()
没有成功。想法?
HtmlHelper
public static MvcHtmlString TopMenu(this HtmlHelper helper, IEnumerable<string> names)
{
var ulTag = new TagBuilder("ul");
foreach (var name in names)
{
var liTag = new TagBuilder("li");
liTag.SetInnerText(string.Format("<img src='{0}' alt='alt' />{1}", name, name));
ulTag.InnerHtml += liTag.ToString(TagRenderMode.Normal);
}
return MvcHtmlString.Create(ulTag.ToString(TagRenderMode.Normal));
}
我的观点
@Html.Raw(Html.TopMenu(CodeTesting.Models.NamesList.Names(20)))