我正在構建我的第一個mvc3應用程序。我有幾個問題是:ASP.NET MVC3第一次問題
1)剃鬚刀視圖引擎讓我把代碼嵌入到視圖中。這不是我們曾經試圖逃脫的嗎?即保持代碼不在aspx中。
2)模型是否需要實現一個接口?
3)模型是否需要有方法?或者只是屬性?
感謝
我正在構建我的第一個mvc3應用程序。我有幾個問題是:ASP.NET MVC3第一次問題
1)剃鬚刀視圖引擎讓我把代碼嵌入到視圖中。這不是我們曾經試圖逃脫的嗎?即保持代碼不在aspx中。
2)模型是否需要實現一個接口?
3)模型是否需要有方法?或者只是屬性?
感謝
很模糊的問題,但我會給你我的5C價值:
沒錯,但我們把剃刀意見的代碼通常只有生成HTML的控制。 。MVC3中的幫助器方法利用Viewmodels中的數據屬性並生成驗證等。 如果這麼說,完全可以選擇多少代碼放在視圖中。
號
的ViewModels應該是蠢(POCO)成爲可能,而業務邏輯方法應該是把你的域模型,把好DDD開發人員,你是;)
EditorFor
或DisplayFor
或像using (Html.BeginForm())
的東西。主要的商業邏輯不應該放在視圖層。實際上,第一部分對於aspx引擎和WebForms也是如此。和Php,和經典的ASP,並...
1)它可能看起來有點像這樣,但真的取決於代碼是什麼。恕我直言,你應該真的應該避免在視圖中的任何邏輯或代碼,除了直接與渲染視圖有關。儘管如此,Razor在視圖中提供了一種可愛的乾淨編碼方式。
2)否 - 任何類都可以成爲模型。
3)沒有什麼可以阻止你在模型上放置方法 - 但實際上它們應該是非常簡單的數據傳輸對象 - 它們只是「攜帶」數據。所以更多的時候,堅持屬性。
1)剃鬚刀視圖引擎讓我把代碼嵌入到視圖中。這不是我們曾經試圖逃脫的嗎?即保持代碼不在aspx中。
不,我們曾經試圖讓邏輯脫離視圖。這對視圖有更多的控制,但不應該被用作實現邏輯的方法。
2)模型是否需要實現接口?
沒有。
3)模型是否需要有方法?或者只是屬性?
模型只是類。他們定義你班級的結構。