"不允许子操作执行重定向操作"

Sac*_*nth 9 c# asp.net-mvc-3

我有这个错误:

执行处理程序'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper'的子请求时出错.

内部异常:

不允许子操作执行重定向操作.

知道为什么会这样吗?

顺便说一句,错误发生在这一行:

@Html.Action("Menu", "Navigation")
Run Code Online (Sandbox Code Playgroud)

导航控制器中的菜单操作如下所示:

public ActionResult Menu()
{
    return PartialView();
}
Run Code Online (Sandbox Code Playgroud)

Dou*_*oug 11

这发生在我身上,因为我在Controller上有[RequireHttps],并且从另一个控制器调用了一个子动作.RequireHttps属性导致重定向


dkn*_*ack 5

这是不允许的,因为MVC已经开始将View渲染到浏览器(客户端).因此MVC框架阻止了这一点,因为客户端已经接收到数据(html).只要渲染正在进行中,您就无法在子视图中重定向.

你可以改回来RedirectToAction.


Dum*_*ani 5

代替

@Html.Action("Menu", "Navigation")
Run Code Online (Sandbox Code Playgroud)

使用

@Url.Action("Menu", "Navigation")
Run Code Online (Sandbox Code Playgroud)

为我工作:)