我创建了一个HtmlHelper
扩展方法,它返回一个编码字符串,我尝试返回IHtmlString
和MvcHtmlString
但是无法获取字符串未编码/未转义?
我正在尝试减少代码,所以在这个特定的实例中我不需要Html.Raw()
。
更新
这是一个有趣的问题。我是Razor的新手,所以添加了我想要的WebViewPage
基类的方法,这显然没有用,然后在HtmlHelperExtension类中创建了方法。
在视图中我有@MyMethod()
正在工作并呈现未编码的html。
我只注意到在看到Darin Dimitrov的答案之后我已经忽略了“Html.
”位,所以添加了Html.
并从WebViewPage
类中删除了该方法,这修复了我现有的HtmlHelper。
答案 0 :(得分:8)
IHtmlString应该做的工作:
public static class HtmlExtensions
{
public static IHtmlString Foo(this HtmlHelper html)
{
return MvcHtmlString.Create("<a href=\"http://www.google.com\">Google</a>");
}
}
并在你的剃须刀视图中:
@Html.Foo()
会在生成的html中生成:
<a href="http://www.google.com">Google</a>
是未编码的。