2012-09-13 51 views
1

编写spark文件时遇到了奇怪的/奇怪的事情。我知道Html.TextBoxFor,但我发现我的看法是使其为纯文本时我用这个:MVC(火花视图引擎)x和m有什么区别?

${Html.TextBoxFor(x => x.Name}} 

但是,当我改成了这样它的工作:这里

${Html.TextBoxFor(m => m.Name)} 

m个可能代表型号,因为我已经声明,像这样的模式在.spark文件的顶部:

<viewdata model="Test.Models.RegisterViewModel" /> 

X应该是一个委托声明或什么的。有谁能告诉我为什么x不会在这种情况下工作?它不应该假设我把所有的东西放在x或m中都是我在页面顶部声明的模型?

回答

1

的MVC方面复制从你的问题:

${Html.TextBoxFor(x => x.Name}} 
${Html.TextBoxFor(m => m.Name)} 

在最上面的一个(使用x)中,您有两个闭合大括号而不是括号和大括号。

在第二个(使用m)中,您有正确的右括号和大括号。我可以想象这就是为什么Spark将它作为顶级实例中的纯文本显示的原因,因为它没有识别出代码块,因为您错过了一个关闭的元素。

+0

哦,我的上帝,我现在觉得很愚蠢。非常感谢您的回答! 有时候你可以看看自己的代码几个小时,而你没有看到任何错误。 事情是我没有看到颜色,就像我在Visual Studio 2010中做的那样。你知道如何正确设置Visual Studio 2010和.spark文件吗? – Robin

+0

右键单击Soln Explorer中的.spark文件,然后选择Open with ... - > Html Editor(确保设置为默认值),然后它看起来像普通的Html。 – RobertTheGrey

+0

我经常使用别人的眼睛来检查我的代码,我自己的代码通常不够好;) – RobertTheGrey

0

两者之间没有区别。该变量就像一个用于for的计数器(一个局部变量,用于定义lambda表达式内所有对象的共同行为)

之所以这样工作的原因可能是您之前的代码语法中存在错误或者你忘了建立

我的2美分
免责声明: 我没有;看不到火花标签......这个答案是完全致力于该问题

相关问题