是否可以从MVC 3 Razor HtmlHelper返回未编码/未转义/原始的字符串?

问题描述

| 我创建了一个
HtmlHelper
扩展方法,该方法返回一个已编码的字符串,我尝试返回
IHtmlString
MvcHtmlString
,但是无法获取未编码/未转义的字符串? 我正在尝试减少代码,因此在此特定情况下不需要ѭ3。 更新 这是一个有趣的。我是Razor的新手,所以将我想要的方法添加到了ѭ4wanted基类中,该类显然没有用,然后在HtmlHelperExtension类中创建了Method。 在视图中,我有
@MyMethod()
,它正在工作并呈现未编码的html。 我仅注意到看到Darin Dimitrov的回答后就省略了“
Html.
”,因此添加
Html.
并从
WebViewPage
类中删除了该方法,从而修复了我现有的HtmlHelper。     

解决方法

        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>
这是未编码的。