所以我正在开发我的第一个真正的MVC网站开发(之前我一直在使用已经开发的模板)。在那里我们有一个用于控件(窗体等)的控制器,然后是另一个控制器来处理所有HttpPost操作等。因为这意味着我可以在两个控制器中都有一个名为_ContactForm的局部视图,一个会设置窗体视图,另一个会处理表格中的帖子。
我只是想知道现在是否有任何标准命名约定我正在使用一个控制器。我有一个名为_ContactForm的局部视图来设置视图,但Visual Studio告诉我,即使我用[HttpPost]作为方法前缀,我也不能有第二个_ContactForm来处理HttpPost。
最好是一个方法以下划线为前缀而另一个没有,或者是否有一些通常使用的命名约定?
非常感谢任何帮助!
谢谢, 麦克
答案 0 :(得分:2)
我意识到这个问题已经过时了,但由于还没有答案......
即使用HttpPost属性修饰一个方法,控制器中也不能有2个具有相同名称的同名方法。很多时候,GET方法要么不带参数,要么不带字符串或什么,而POST通常需要模型,JSON数组或更实质的东西。
关键是,您需要确保方法签名在某种程度上是不同的,即使一个用于GET而另一个用于POST。
这是另一篇文章,其中有一个非常相似的问题:
post and get with same method signature
祝你好运,并且快乐的MVC编码!