2013-06-27 27 views
3

我有一个剃刀.cshtml与下面的模板:我怎样才能让剃刀解决符号@Model?

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。

+3

你不需要'@'那里有一个 – Eonasdan

回答

0

包括 @model My.Super.ModelObject在.cshtml

编辑我看到现在的问题...期待进一步

编辑2类似下面的工作与MVC剃刀的顶部(从未使用RazorEngine ...所以它可能不会翻译100%)

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

它也适用于智能感知。 (这是MVC 4 VS2010)

+0

猜我应该发布这个作为答案而不是评论毕竟 – Eonasdan

6

您已经在代码块中。你不需要@之前的模型。 @用于从HTML转换为代码块。

+0

这是真正的答案不知道为什么其他接受。 –