gpt4 book ai didi

c# - 检测 action 是 POST 还是 GET 方法

转载 作者:IT王子 更新时间:2023-10-29 03:57:18 26 4
gpt4 key购买 nike

在 MVC 3 中,是否可以确定操作是 POST 还是 GET 方法的结果?我知道您可以使用 [HttpPost] 和 [HttpGet] 修饰操作,以便在其中一个发生时触发特定操作。我想做的是关闭这些属性并以编程方式确定是哪个属性导致了操作。

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

当有人使用后退按钮转到搜索表单并重新提交时,这会导致问题。它仍在使用 TempData 中的模型,而不是使用新的搜索条件。因此,如果它是一个 POST(即有人刚刚提交了搜索表单),我想先清除 TempData。

最佳答案

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

if (HttpContext.Current.Request.HttpMethod == "POST")
{
// The action is a POST.
}

或者你可以获得Request直接脱离当前 Controller 的对象。这只是一个属性。

关于c# - 检测 action 是 POST 还是 GET 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5914648/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com