1

所以我正在開發我的第一個真正的MVC網站開發(之前我已經使用了一個已經開發的模板)。在那裏我們有一個控制器(控制器等),然後另一個控制器來處理所有的HttpPost動作等。因爲這意味着我可以在兩個控制器中都有一個名爲_ContactForm的局部視圖,人們可以設置窗體視圖,另一個會處理從表格中回來的帖子。MVC5中的命名約定

我只是想知道現在是否有任何標準的命名約定,我正在使用一個控制器。我有一個稱爲_ContactForm的局部視圖,它設置了視圖,但Visual Studio告訴我,即使用[HttpPost]作爲前綴,我不能再有第二個_ContactForm來處理HttpPost。

最好是有一個方法用一個下劃線作爲前綴,而另一個不用,或者是否有一些通常使用的命名約定?

任何幫助將不勝感激!

謝謝, 邁克。

+0

請看看[Action Naming Convention]上的回答(http://stackoverflow.com/questions/118474/action-naming-convention/38994001#38994001)。希望這可以幫助... – 2016-08-17 10:26:06

回答

2

我意識到這個問題是舊的,但因爲沒有答案了......

你不能有同名的2種方法,在控制器完全相同的簽名,即使一個裝飾有HttpPost屬性。很多時候,GET方法或者不帶參數,或者如果它做了一個字符串或者其他東西,而POST通常需要一個模型或者JSON數組或者更重要的東西。

問題是,您需要確保方法簽名以某種方式不同,即使其中一個用於GET,一個用於POST。

這是另一篇文章用很相似,如果不相同的問題:

post and get with same method signature

祝你好運,幸福的MVC編碼!