码迷,mamicode.com
首页 > Web开发 > 详细

[HttpPost]和[AcceptVerbs(HttpVerbs.Post)]区别

时间:2017-06-19 10:59:17      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:命名   ...   color   处理   写入   一个   nec   请求   pve   

1.共同点:[HttpPost][AcceptVerbs(HttpVerbs.Post)]都是只接受POST请求过来的数据。

2.不同点:
在MVC中如果想一个action既可以回应POST请求也可以回应GET请求那么我们应该怎么做呢?
首先[HttpPost][HttpGet]是不能同时存在一个action上
但是[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]可以

正确写法:
[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]或者[AcceptVerbs("POST", "GET"、"OPTIONS")]
public ActionResult Index()
{
    ........................
}

错误写法:
[HttpPost][HttpGet]
public ActionResult Index()
{
    ........................
}

!!!注:

HTTP规范定义了8种可能的请求方法:
GET                 检索URI中标识资源的一个简单请求
HEAD               与GET方法相同,服务器只返回状态行和头标,并不返回请求文档
POST                服务器接受被写入客户端输出流中的数据的请求
PUT                 服务器保存请求数据作为指定URI新内容的请求
DELETE            服务器删除URI中命名的资源的请求
OPTIONS          关于服务器支持的请求方法信息的请求
TRACE             Web服务器反馈Http请求和其头标的请求
CONNECT        已文档化但当前未实现的一个方法,预留做隧道处理

[HttpPost]和[AcceptVerbs(HttpVerbs.Post)]区别

标签:命名   ...   color   处理   写入   一个   nec   请求   pve   

原文地址:http://www.cnblogs.com/xierj/p/7047581.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!