如何让Razor解析符号@Model?

时间:2013-06-27 16:56:21

标签: c# razor

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

enter image description here

如您所见,@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。

2 个答案:

答案 0 :(得分:6)

您已经在代码块中。你不需要@ before模型。 @用于从html过渡到代码块。

答案 1 :(得分:0)

在.cshtml

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

编辑我现在看到了问题......进一步了解

编辑2 下面的内容适用于MVC Razor(从未使用过RazorEngine ......因此可能无法100%翻译)

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

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