3

我有一个带有以下内容的 Razor .cshtml 模板:

在此处输入图像描述

如您所见,@Model无法解决。

但是,当我使用以下代码解析模板时:

public static string RenderPartialViewToString(string templatePath, string viewName, List<ZonesVM> zonesVm)
{
    string text = File.ReadAllText(Path.Combine(templatePath, viewName));

    string renderedText = Razor.Parse(text, zonesVm);
    return renderedText;
}

它工作正常,我在 HTML 中看到了我期望的结果。

有没有办法让 Razor 在编译之前知道 @Model 是什么?

作为参考,我使用的是RazorEngine而不是普通的 MVC Razor 东西。

4

2 回答 2

6

您已经在代码块中。您不需要 @ before 模型。@ 用于从 html 转换为代码块。

于 2013-06-27T17:05:50.437 回答
0

包含@model My.Super.ModelObject在 .cshtml 的顶部

编辑我现在看到了这个问题......进一步寻找

编辑 2类似下面的东西适用于 MVC Razor(从未使用过 RazorEngine ......所以它可能无法 100% 翻译)

@foreach (var item in Model.list)
{        
    <h1>@item.Value</h1>
}

它也适用于 Intellisense。(这是 MVC 4 VS2010)

于 2013-06-27T17:00:32.473 回答