如何在 asp.net mvc 中重定向到正确的控制器操作
Posted
技术标签:
【中文标题】如何在 asp.net mvc 中重定向到正确的控制器操作【英文标题】:How to redirect to correct controller action in asp.net mvc 【发布时间】:2013-02-13 16:34:31 【问题描述】:好的,所以我有一个 sn-p,它应该重定向到控制器的操作。
return RedirectToAction("add");
现在的问题是add
操作过载。一个在 HTTPrequest 是 GET
类型时调用,另一个在请求是 POST
类型时调用。无论如何我可以选择语句重定向到哪个动作?
【问题讨论】:
【参考方案1】:RedirectToAction 向客户端浏览器返回 302(已移动)响应。 GET
是唯一能让你摆脱它的方法。
如果您询问是因为您想调用您的 POST/add 操作,这个related question 可能会有所帮助
【讨论】:
【参考方案2】:试试这个
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult add()
...
[ActionName("add")]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult add_post()
...
这样你可以通过 POST 和 GET 来添加,并在控制器中调用 add 或 add_post
【讨论】:
以上是关于如何在 asp.net mvc 中重定向到正确的控制器操作的主要内容,如果未能解决你的问题,请参考以下文章
在 ASP.Net MVC3 中重定向到不影响 URL 的区域
防止在 asp.net core 2.2 中重定向到 /Account/Login