【发布时间】:2011-05-06 16:58:16
【问题描述】:
在 MVC 3 中,是否可以确定操作是 POST 还是 GET 方法的结果?我知道你可以用 [HttpPost] 和 [HttpGet] 来装饰动作,以在其中一个发生时触发特定动作。我想做的是关闭这些属性并以编程方式确定是哪一个导致了操作。
原因是,由于我的搜索页面的架构方式,我将搜索模型存储在 TempData 中。初始搜索会导致 POST 到搜索结果页面,但分页链接都只是指向“/results/2”的链接(对于第 2 页)。他们检查 TempData 以查看模型是否在其中,如果有则使用它。
当有人使用后退按钮转到搜索表单并重新提交时,这会导致问题。它仍在使用 TempData 中的模型,而不是使用新的搜索条件。因此,如果是 POST(即有人刚刚提交了搜索表单),我想先清除 TempData。
【问题讨论】:
标签: c# asp.net-mvc