在MVC 3中,是否可以确定某个操作是POST或GET方法的结果?我知道你可以使用[HttpPost]和[HttpGet]来装饰动作,以便在其中一个发生时触发特定动作.我想做的是关闭这些属性并以编程方式确定导致该操作的属性.
原因是,由于我的搜索页面的架构方式,我将搜索模型存储在TempData中.初始搜索会导致POST到搜索结果页面,但是分页链接都只是指向"/ results/2"的链接(第2页).他们检查TempData以查看模型是否在那里使用它,如果是这样的话.
当有人使用后退按钮转到搜索表单并重新提交时,这会导致问题.它仍在使用TempData中的模型,而不是使用新的搜索条件.所以,如果它是一个POST(即有人刚刚提交了搜索表单),我想首先清除TempData.
从PHP开始,我是.NET新手,因此我选择使用C#并且很好地使用它.关于GET和POST的处理,我有一个问题.
到目前为止,我已经确定我可以将它放在aspx页面后面的代码文件中:
if (Request.HttpMethod.ToString() == "POST") {
Response.Write("You sent a post!")
}
Run Code Online (Sandbox Code Playgroud)
我可以和ELSE一起处理GET,但你究竟会怎么做?
在PHP中我会做这样的事情:
示例网址= http://www.example.com/page.php?foo=bar
$foobar = $_GET['foo'];
Run Code Online (Sandbox Code Playgroud)
请问有些灵魂请指点我在C#中处理这个问题.
谢谢