1

カスタム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))) 
4

1 に答える 1

1

liTag.SetInnerText()渡したテキストをエスケープします。
設定したいliTag.InnerHtml

また、HTMLエスケープする必要がありますname

于 2012-11-13T18:21:06.913 に答える