在编写spark文件时,我遇到了一些奇怪/怪异的东西。我知道Html.TextBoxFor,但是当我使用它时,我注意到我的视图将它呈现为纯文本:
${Html.TextBoxFor(x => x.Name}}
但是当我改变它时,它起作用了:
${Html.TextBoxFor(m => m.Name)}
这里的m可能代表Model,因为我在.spark文件的顶部声明了这样的模式:
<viewdata model="Test.Models.RegisterViewModel" />
但 x 或 m 应该是委托声明或其他内容。谁能告诉我为什么x在这种情况下无法工作?难道它不能假设我作为x或m放入的所有内容都是我在页面顶部声明的模型吗?
答案 0 :(得分:1)
从您的问题中复制:
${Html.TextBoxFor(x => x.Name}}
${Html.TextBoxFor(m => m.Name)}
在顶部(使用x)你有两个闭合的花括号而不是括号和括号。
在第二个(使用m)中,您有正确的右括号和括号。我可以想象这就是为什么Spark在顶层实例中将其渲染为纯文本的原因,因为它因为你错过了一个关闭的paren而无法识别代码块。
答案 1 :(得分:0)
两者之间没有区别。变量就像一个用于for的计数器(一个局部变量,它定义了对lambda表达式中所有对象采取的常见操作。
之所以有用,可能是因为您之前的代码语法出错,或者您忘了构建
我的2美分
的声明:强>
我没有看到spark标签......这个答案完全致力于问题的MVC方面