自定义 HtmlHelper 返回编码的 html



我在做一个自定义的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))) 

liTag.SetInnerText()转义您传递的文本
您要设置liTag.InnerHtml .

另外,您需要 HTML 转义name .

相关内容

  • 没有找到相关文章

最新更新