gpt4 book ai didi

asp.net-mvc - 如何使用 POST 动词重定向到页面?

转载 作者:行者123 更新时间:2023-12-03 04:32:27 25 4
gpt4 key购买 nike

当您在 Controller 内调用 RedirectToAction 时,它会自动使用 HTTP GET 进行重定向。我如何明确告诉它使用 HTTP POST?

我有一个同时接受 GET 和 POST 请求的操作,并且我希望能够使用 POST RedirectToAction 并向其发送一些值。

像这样:

this.RedirectToAction(
"actionname",
new RouteValueDictionary(new { someValue = 2, anotherValue = "text" })
);

我希望使用 HTTP POST 而不是 GET 发送 someValueanotherValue 值。有谁知道该怎么做吗?

最佳答案

对于您的特定示例,我只会这样做,因为您显然并不关心实际上让浏览器获得重定向(通过接受您已经接受的答案):

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index() {
// obviously these values might come from somewhere non-trivial
return Index(2, "text");
}

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(int someValue, string anotherValue) {
// would probably do something non-trivial here with the param values
return View();
}

这很容易工作,并且没有真正发生有趣的事情 - 这允许您维持第二个实际上只接受 HTTP POST 请求的事实(除了在本例中,无论如何它都在您的控制之下)并且您不'也不必使用 TempData,这就是您在答案中发布的链接所建议的。

我很想知道这有什么“问题”(如果有的话)。显然,如果您真的想向浏览器发送重定向,这是行不通的,但是您应该问为什么无论如何都要尝试转换它,因为这对我来说似乎很奇怪。

关于asp.net-mvc - 如何使用 POST 动词重定向到页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/129335/

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