2010-02-23 50 views
3

ASP.NET MVC基於約定,正如他們所說的「約定優於配置」。因此,這意味着有很多的意義到在項目結構中他們創造了什麼東西都給出ASP.NET MVC約定

作爲一個初來乍到ASP.NET MVC,我很欣賞這種做法的功能和簡單,但我覺得這是一個有點混亂跟蹤什麼慣例在起作用。例如,使用UpdateModel控制器方法時,該方法依賴於具有與模型類屬性相同名稱的HTML表單域。這是顯而易見的事情,大部分時間可能是大多數人會本能地做的事情,但我可以看到,如果一個人在一個地方重命名而忘記在另一個地方重命名,它會變得非常混亂。這種聯繫有點「脆弱」。

所以,我認爲這將是在這裏在一個地方所有的ASP.NET MVC公約的清單有用,因爲最佳實踐的簡短髮言。例如:

「HTML表單字段應該與模型屬性具有相同的名稱」。

任何人有這樣的事情?你能幫我在這裏創建一個列表嗎?

+1

真的沒有那麼多的「約定」。其中許多可以被覆蓋。 – 2010-02-23 15:56:59

回答

1

控制器應該始終與控制器 sufix結束。在規定航線

1

控制器和動作名稱應該有對應的命名類和動作方法正是這種方式(加上控制器「-Controller」後綴)。您可以使用[ControllerName]和[ActionName]屬性覆蓋此行爲。

+0

不知道我明白yoru第一點...? – 2010-02-23 17:32:40

+0

第一點不是約定,而僅僅是關於Html助手如何實現的細節。認爲它可能有用。 – 2010-02-23 19:12:38

1

請注意,約定優於配置不是必需的,但是事情是如何運行的。如果你發現一個會議混淆或沒有幫助,你可以改變它(例如,如何挑選控制器,如何查看視圖等),或進行配置。

+1

好點!我已經看到了一些例子,但作爲一名學習者,我想在重寫它們之前充分理解開箱即用的約定。我需要深入微軟的思維。 – 2010-02-23 17:32:03

2

使用部署服務器中的虛擬路徑,並將其輸入到Visual Studio中的項目配置中。這樣Visual Studio開發服務器將使用與部署服務器相同的路徑結構。這將爲您節省無數工作時間。