NancyFx:@Each、@Current 和 @EndEach 无法通过 Razor 编译,但 @Model.Property 没问题

问题描述 投票:0回答:1

如何修复此问题并编译我的 .cshtml?

总结问题 我有一个使用 Razor 的现有 NancyFX 1.4.4 Web 应用程序。这是工作。我向现有模型添加了一个对象列表,并使用 @Model.Things、@Each.Model.Things、@Current.Property1 和 @EndEach 在 .cshtml 文件中引用了该列表,但我的 .cshtml 的 Razor 编译失败错误:

  • [CS0103] 行:380 列:24 - 名称“Each”不存在于 当前上下文(显示)
  • [CS0103] 行:381 列:83 - 当前上下文中不存在名称“Current”(显示)
  • [CS0103] 行:382 列:24 - 当前上下文中不存在名称“EndEach”(显示)

提供详细信息和任何研究

  • 我将其添加到我的.cshtml中,这不会出错,

    警报(“@Model.Things”);

    并显示:

System.Collections.Generic.List`1[MyNamespace.Thing]

  • 这是导致编译错误的.cshtml代码:

    @Each.Model.Things @EndEach

在适当的时候,描述您已经尝试过的内容

  • 我从 Nancy 的 github 存储库下载了超级简单视图引擎。它使用@Each.Users、@Current.Name 和@EndEach。效果很好。
  • 我将模型中的列表更改为 IEnumerable,没有任何区别。
  • 我在服务器端模块中放置了一个断点,以确保列表中存在对象。
  • 我检查了 app.config 和 web.config 中的 Razor 参考。 Razor 正在工作,所以我不认为这是问题所在。
c# razor nancy
1个回答
0
投票

这些不是 Razor 元素。它们是在 Super-Simple-View-Engine 本身中定义的。请参阅SuperSimpleViewEngine.cs中的@Current定义及其在SuperSimpleViewEngine演示中的用法。

© www.soinside.com 2019 - 2024. All rights reserved.