我正在使用 RazorGenerator https://github.com/RazorGenerator/RazorGenerator将我的菜单外包给一个 DLL 文件,以便我可以在多个项目中共享它。在这些视图中,我有一个 foreach 循环,它应该生成一个像这样的列表:
@foreach (var myItem in MyClass.Instance.Elements) {
<li>
<img src="@myItem.Icon" />
</li>
}
但我无法编译它们:由 RazorGenerator 生成的 MyView.generated.cs 文件正在为 img 标签创建以下行:
WriteAttribute("src", Tuple.Create(" src=\"", 1038), Tuple.Create("\"", 1057)
这是问题所在,因为我收到未定义“WriteAttribute”的错误。我找不到有关此方法的很多信息,似乎这是来自 RazorGenerator 的方法。
奇怪的是,我之前在测试项目中测试过相同的代码,因为这是我第一次使用 RazorGenerator。在那里它使用相同的循环,但我找不到任何差异。这两个项目在同一版本中也具有相同的引用和程序集。我只发现 WriteAttribute() 来自 WebPageExecutionBase。
我该如何解决这个问题?