c# - MVC5 中的命名约定

标签 c# asp.net-mvc model-view-controller naming-conventions partial-views

所以我正在开发我的第一个真正的 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/

相关文章:

asp.net-mvc - 有在 MVC 中结合 JS/CSS 的经验吗?

java - 如何在Spring MVC中的@RequestParam中获取LIST输入?

asp.net-mvc - Entity Framework + MVC 4 + Knockout.js AddView 模板?

jquery - 不使用模型的 ASP.NET MVC ajax 服务器端验证

来自不断增长的文件的 C# WCF 视频流?

c# - 无法修复 "Could not create SSL/TLS secure channel"发出 web 请求

javascript - 对于在 javascript 和 html 中无法正常工作

javascript - Ext.JS - 网格不加载存储值

c# - 将带有换行符的文本转换为列表<String>

c# - CLR调试器和 'var'