如何使用POST动词重定向到页面?在RedirectToAction控制器内调用时,它会使用HTTP GET自动重定向。如何明确告诉它使用HTTP POST?我有一个接受GET和POST请求的动作,我希望能够RedirectToAction使用POST并发送一些值。像这样:this.RedirectToAction(
"actionname",
new RouteValueDictionary(new { someValue = 2, anotherValue = "text" }));我希望使用HTTP POST而不是GET发送someValue和anotherValue值。有谁知道如何做到这一点?
3 回答
狐的传说
TA贡献1804条经验 获得超3个赞
HTTP不支持使用POST重定向到页面。当你重定向到某个地方时,HTTP“Location”标题会告诉浏览器去哪里,浏览器会对该页面发出GET请求。您可能只需编写页面代码即可接受GET请求以及POST请求。
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
如果要在重定向期间在两个操作之间传递数据而不在查询字符串中包含任何数据,请将模型放在TempData对象中。
行动
TempData["datacontainer"] = modelData;
视图
var modelData= TempData["datacontainer"] as ModelDataType;
TempData意味着一个非常短暂的实例,您只应在当前和后续请求中使用它!由于TempData以这种方式工作,您需要确定下一个请求将是什么,并且重定向到另一个视图是唯一可以保证这一点的时间。
因此,使用TempData可靠地工作的唯一方案是重定向时。
- 3 回答
- 0 关注
- 558 浏览
添加回答
举报
0/150
提交
取消