Razor替代Html.Raw()

Luk*_*101 7 razor c#-4.0 asp.net-mvc-3

我在一个方法中打印出html.这是代码:

@Html.Raw(Html.GenerateTabs())  //works -- but is inconvinent
Run Code Online (Sandbox Code Playgroud)

真的不想做这样的每一个方法.这是我想要的方式.但它不起作用.当我在浏览器中运行代码html打印时.

@Html.GenerateTabs()   //prints html in the broswer


<text>@Html.GenerateTabs()</text>  //prints html in the broswer
Run Code Online (Sandbox Code Playgroud)

是否有一种剃刀友好的方式来做到这一点?

And*_*ber 11

如果您的代码输出MvcHtmlString而不是字符串,它将正确输出其中包含的HTML.

您可以使用带有HTML的字符串,使用静态工厂方法构造MvcHtmlString.

public MvcHtmlString OutputHtml() {
    return MvcHtmlString.Create("<div>My div</div>");
}
Run Code Online (Sandbox Code Playgroud)

然后在视野中:

@OutputHtml()
Run Code Online (Sandbox Code Playgroud)