所以我正在开发我的第一个真正的 MVC 网站(在此之前我一直在使用已经开发的模板)。在那里,我们有一个用于控件(表单等)的 Controller ,然后是另一个 Controller ,用于处理所有 HttpPost 操作等。因此,这意味着我可以在两个 Controller 中都有一个名为 _ContactForm 的部分 View ,可以设置表单 View ,另一个将处理从表单返回的帖子。
我只是想知道现在我使用一个 Controller 是否有任何标准命名约定。我有一个名为 _ContactForm 的部分 View ,它设置 View ,但 Visual Studio 通知我无法使用第二个 _ContactForm 来处理 HttpPost,即使我在该方法中添加了 [HttpPost] 前缀。
是否最好让一种方法以下划线作为前缀,而另一种则不使用下划线作为前缀,或者是否有一些通常使用的命名约定?
任何帮助将不胜感激!
谢谢, 迈克。
最佳答案
我意识到这个问题很老了,但由于还没有答案......
在一个 Controller 中不能有 2 个具有相同名称和完全相同签名的方法,即使其中一个方法用 HttpPost 属性修饰也是如此。很多时候,GET 方法要么不带参数,要么只带字符串或其他参数,而 POST 通常需要模型、JSON 数组或更实质性的东西。
重点是,您需要确保方法签名在某种程度上有所不同,即使一个用于 GET,一个用于 POST。
这是另一篇文章,其中有一个非常相似(如果不是完全相同的问题)的问题:
post and get with same method signature
祝你好运,祝 MVC 编码愉快!
关于c# - MVC5 中的命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28451974/