首先,我使用带有Razor视图引擎的MVC 3 RC1。我有一个HTML帮助扩展,如下所示:
public static string TabbedMenuItem(this HtmlHelper htmlHelper, string text, string actionName, string controllerName) {
StringBuilder builder = new StringBuilder();
builder.Append("<li>");
builder.Append(text);
builder.Append("</li>");
return builder.ToString();
}
在视图上它被称为:
@Html.TabbedMenuItem("Home", "Index", "Home")
我遇到的问题是MVC会自动对视图中的结果进行HTML编码,所以我得到的就是字符串的编码版本:
<li>Home</li>
有谁知道如何禁用HTML帮助程序扩展的自动编码?
提前致谢 安迪
答案 0 :(得分:21)
public static IHtmlString TabbedMenuItem(this HtmlHelper htmlHelper, string text, string actionName, string controllerName)
{
StringBuilder builder = new StringBuilder();
builder.Append("<li>");
builder.Append(text);
builder.Append("</li>");
return MvcHtmlString.Create(builder.ToString());
}
使用返回值IHtmlString。 希望这有帮助。
答案 1 :(得分:0)