Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Html.Raw(…)中的Razor标记_C#_Asp.net_Asp.net Mvc_Razor_Render - Fatal编程技术网

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之类的工具进行渲染会更容易。