Html.Raw(...) 内的 Razor 标签

Razor tag inside Html.Raw(...)

是否可以在 Html.Raw() 中渲染 Razor?我正在生成一个动态页面,它使用 Html.Raw() 方法呈现在控制器中创建的页面。我的原始 html 里面有剃刀标签。也就是说,我正在尝试通过

生成 link
@Html.Raw(Model.myRawHtmlContainingRazorTags);

其中 Model.myRawHtmlContainingRazorTags 包含

<html>
...
...
@Model.TheLink
...
...
<html>

我需要在 cshtml 中调用 @Html.Raw(Model.myRawHtmlContainingRazorTags) 时呈现 Model.TheLink 的值。

您可能有一些架构问题导致您的模型上有一些剃须刀代码 属性。

无论如何,您可以使用一些外部库来完成它,例如 RazorTemplates

这是一个示例:

var template = Template.Compile(Model.myRawHtmlContainingRazorTags);
@Html.Raw(template.Render(Model));