2012-09-13 48 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美分
免責聲明: 我沒有;看不到火花標籤......這個答案是完全致力於該問題

相關問題