首先,我将 MVC 3 RC1 与 Razor View 引擎一起使用。我有一个 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();
}
在 View 上它的名称如下:
@Html.TabbedMenuItem("Home", "Index", "Home")
我遇到的问题是 MVC 会自动对 View 中的结果进行 HTML 编码,因此我得到的只是字符串的编码版本:
<li>Home</li>
有人知道如何禁用 HTML 帮助器扩展的自动编码吗?
提前致谢 安迪
最佳答案
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。 希望这有帮助。
关于asp.net-mvc - HtmlHelper 扩展方法的 HTML 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4421718/