2015-10-10 68 views
0

我閱讀本教程http://www.asp.net/mvc/overview/older-versions/getting-started-with-aspnet-mvc3/cs/examining-the-edit-methods-and-edit-viewasp.net的MVC助手語法

,發現這句法

@Html.EditorFor(model => model.Title) 

我簡直不明白這一點。

我的意思是什麼是model。這是MVC 3應用程序中的模型名稱。如果是的話那麼它應該是不正確的,因爲從教程中可以看出它不是所討論的模型的名稱。從教程可以看出,模型的名稱是「電影」

任何幫助將不勝感激

+1

它是一個[lambda表達式](https://msdn.microsoft.com/en-us/library/bb397687.aspx)。 'model'可以是'foo'或'm'或任何你想要的。 – CodeCaster

+0

@CodeCaster你檢查了教程。 'model'中包含了什麼? – Alex

回答

1

通常你每個視圖都有一個模型。有更多模型的方法,但在該教程中,爲了簡單起見,他們只有一個。該模型在頂部由@引用:@model MvcMovie.Models.Movie,模型名稱爲Movie。這就是爲什麼你寫的這一行很有用,因爲視圖中只有一個模型,並且可以使用最多model

1

我認爲在這個例子中,他們試圖不通過討論lambda表達式來早期混淆問題。

第一行是@model MvcMovie.Models.Movie其中在視圖中使用的模型的類型聲明。

如果他們編寫@Html.EditorFor(movie => movie.Title)這可能會是一個更好的例子 - 但CodeCaster指出,任何值都可以在lambda表達式中執行。我傾向於使用@Html.EditorFor(x => x.Title)。玩一玩,看看你喜歡什麼樣的風格。