C# 如何让Razor解析symbol@Model?
我有一个Razor.cshtml模板,包含以下内容: 如您所见,C# 如何让Razor解析symbol@Model?,c#,razor,C#,Razor,我有一个Razor.cshtml模板,包含以下内容: 如您所见,@Model无法解析 但是,当我使用以下代码解析模板时: public static string RenderPartialViewToString(string templatePath, string viewName, List<ZonesVM> zonesVm) { string text = File.ReadAllText(Path.Combine(templatePath, viewName))
@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;
}
publicstaticstringrenderpartialviewtostring(stringtemplatepath、stringviewname、List zonesVm)
{
string text=File.ReadAllText(Path.Combine(templatePath,viewName));
string renderedText=Razor.Parse(text,zonesVm);
返回渲染文本;
}
它工作正常,我在HTML中看到了预期的结果
有没有办法让Razor在编译之前知道@Model是什么
作为参考,我使用的不是普通的MVC Razor工具。在.cshtml顶部包括@model My.Super.ModelObject
编辑我现在看到问题了。。。进一步看
编辑2下面类似的内容适用于MVC Razor(从未使用过RazorEngine…因此可能无法100%翻译)
@foreach(Model.list中的变量项)
{
@项目.价值
}
它也适用于智能感知。(这里是MVC4VS2010)您已经在代码块中了。您不需要@before模型。@用于从html转换为代码块。你不需要在那里使用
@
,我想我应该把它作为一个答案而不是一个评论发布,毕竟这是真正的答案,不知道为什么其他答案被接受。
@foreach (var item in Model.list)
{
<h1>@item.Value</h1>
}