首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检测操作是POST方法还是GET方法

检测操作是POST方法还是GET方法
EN

Stack Overflow用户
提问于 2011-05-07 00:58:16
回答 5查看 56.7K关注 0票数 55

在MVC3中,可以确定操作是POST还是GET方法的结果吗?我知道您可以使用HttpPost和HttpGet来装饰操作,以便在其中一个发生时触发特定的操作。我想要做的就是把这些属性去掉,然后通过编程的方式确定是哪一个导致了这个动作。

原因是,由于我的搜索页面的架构方式,我将搜索模型存储在TempData中。最初的搜索导致POST到搜索结果页面,但分页链接都只是指向“/result/2”的链接(对于第2页)。他们检查TempData,看看模型是否在那里,如果有,就使用它。

当有人使用“上一步”按钮转到搜索表单并重新提交它时,这会导致问题。它仍然在TempData中选择模型,而不是使用新的搜索条件。因此,如果这是一篇文章(例如,有人刚刚提交了搜索表单),我想首先清除TempData。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-05-07 01:00:54

HttpRequest对象上的HttpMethod属性将为您获取它。您可以只使用:

代码语言:javascript
运行
复制
if (HttpContext.Current.Request.HttpMethod == "POST")
{
    // The action is a POST.
}

或者,您可以直接从当前控制器获取Request对象。这只是一处房产。

票数 104
EN

Stack Overflow用户

发布于 2019-01-09 16:22:00

最好将它与HttpMethod属性进行比较,而不是字符串。HttpMethod在以下命名空间中提供:

代码语言:javascript
运行
复制
using System.Net.Http;

if (HttpContext.Request.HttpMethod == HttpMethod.Post.Method)
 {
 // The action is a post
 }
票数 17
EN

Stack Overflow用户

发布于 2019-12-17 14:35:03

要在ASP.NET核心中检测到此问题,请执行以下操作:

代码语言:javascript
运行
复制
if (Request.Method == "POST") {
    // The action is a POST
}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5914648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档