4

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

在您看来,您现在可以执行以下操作:

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

产生结果:

<a>Hello World</a>

来自这个 StackOverflow 答案

ServiceStack Markdown Razor 没有 的概念ViewContext,所以我不确定如何以与 SO Answer 中相同的方式获得 Writer。


更新

StringBuilder我可以直接从以下位置获取 ViewPage :

@{ this.ViewPage.Builder }

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

4

1 回答 1

2

您可以执行以下操作:

public static class MyHelpers
{

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

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

于 2013-06-13T14:26:54.097 回答