C# Html.Raw(…)中的Razor标记
是否可以在C# Html.Raw(…)中的Razor标记,c#,asp.net,asp.net-mvc,razor,render,C#,Asp.net,Asp.net Mvc,Razor,Render,是否可以在Html.Raw()中呈现Razor?我正在生成一个动态页面,它使用Html.Raw()方法呈现在控制器中创建的页面。我的原始html中有razor标记。也就是说,我试图通过 @Html.Raw(Model.myRawHtmlContainingRazorTags); 其中Model.myrawthmlcontainingrazortags包含 <html> ... ... @Model.TheLink ... ... <html> ... ... @Mo
Html.Raw()中呈现Razor?我正在生成一个动态页面,它使用Html.Raw()
方法呈现在控制器中创建的页面。我的原始html中有razor标记。也就是说,我试图通过
@Html.Raw(Model.myRawHtmlContainingRazorTags);
其中Model.myrawthmlcontainingrazortags
包含
<html>
...
...
@Model.TheLink
...
...
<html>
...
...
@Model.TheLink
...
...
我需要Model的值。当在cshtml中调用@Html.Raw(Model.myRawHtmlContainingRazorTags)
时,将呈现链接。您可能会遇到一些架构问题,导致您的模型属性中有一些razor代码
无论如何,您可以通过使用一些外部lib来实现这一点,例如
以下是一个示例:
var template = Template.Compile(Model.myRawHtmlContainingRazorTags);
@Html.Raw(template.Render(Model));
我有一个生成原始HTML列表的API。单击列表中的某个项目,将使用某些参数重定向页面。这些参数是从当前HTML页面获取的。参数在当前HTML中作为隐藏字段显示。调用API并将原始HTML分配给模型。然后将此模型传递给视图。现在列表中的项目又有了razor内容,这导致了这个问题的出现。我在这里做错了什么吗?对我来说不寻常的是,您的API生成了包含Razor标记的原始HTML。如果您可以将其更改为提供视图名称而不是原始html,那么使用诸如RenderPartial之类的工具进行渲染会更容易。