You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NancyFX 1.4.4 Razor视图中@Each等指令编译失败如何解决?

问题解决方案

核心问题:你混淆了Nancy的两种视图引擎语法——@Each/@Current/@EndEach是Super Simple View Engine(SSVE)的专属指令,但你的视图用的是Razor引擎(.cshtml后缀),Razor不识别这些关键字,所以编译报错。

正确的Razor循环写法

把你原来的SSVE风格代码替换成Razor的foreach语法即可:

@foreach (var thing in Model.Things)
{
    <option value="@thing.Property1">blah</option>
}

额外说明

  1. 你测试的alert("@Model.Things");能正常输出,是因为Razor正确解析了@Model对象,只是循环部分误用了其他引擎的语法。
  2. 如果确实想使用SSVE的@Each等指令,需要将视图文件的后缀改为.sshtml,Nancy会自动使用SSVE处理该文件(前提是项目中已引入SSVE的相关依赖)。

内容的提问来源于stack exchange,提问作者clairestreb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 19:32:07