HtmlHelper扩展来包装ServiceStack Markdown Razor的内容

时间:2012-12-31 18:39:09

标签: c# .net razor servicestack razor-2

使用ServiceStack Markdown Razor,如何创建一个HtmlHelper扩展方法,其工作方式如下:

  

在您的观点中,您现在可以:

@{
    using (Html.BeginLink())
    { 
        @Html.Raw("Hello World")
    }
}
  

产生结果:

<a>Hello World</a>

来自This StackOverflow Answer

ServiceStack Markdown Razor没有ViewContext的概念,因此我不确定如何以与SO答案相同的方式获得Writer。


更新

我可以直接从ViewPage StringBuilder获取:

@{ this.ViewPage.Builder }

但这是访问它的预期方式吗?如果它打算直接访问StringBuilder,那么StringBuilder是否会从HtmlHelper中代替ViewData(来自MVC)?

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

public static class MyHelpers
{

    public static IHtmlString PrintHelloWorld(this HtmlHelper helper)
    {
        return helper.Raw("Hello World");
    }
}

只需确保上面的类与HtmlHelper位于同一名称空间中。