我有一个带有以下内容的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。
答案 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)