首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应用程序入口点-不允许子操作执行重定向操作。

应用程序入口点-不允许子操作执行重定向操作。
EN

Stack Overflow用户
提问于 2013-10-25 11:22:32
回答 1查看 1.5K关注 0票数 1

我的家庭控制器上的索引操作是我的MVC 3应用程序的入口点。当我试图从这个操作中重定向到另一个视图时,我得到的是‘子操作不允许执行重定向操作’错误在布局视图上的Html.Action上。我不会从子视图重定向,所以任何人都能解释我为什么会犯这个错误。这只发生在我的家庭控制器的索引操作上,对任何其他控制器的任何其他操作,包括家庭控制器都能正常工作。

家庭控制员:

代码语言:javascript
运行
复制
public class HomeController : Controller
{
    public ActionResult Index()
    {
        if ([some logic to lookup user] = 0)
            return View("UserNotFound");
        else
            return view();
    }
}

布局中的@Html.Action:

代码语言:javascript
运行
复制
@Html.Action("BuildMenu", "Menu", new { menu = @ViewBag.Menu })

Global.asax:

代码语言:javascript
运行
复制
public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
    );

}

菜单控制器:

代码语言:javascript
运行
复制
[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
[ChildActionOnly]
public ActionResult BuildMenu(string menu)
{
    var model = new ViewModels.MenuViewModel()
    {  
        Menu = menu,
        ShowCreateNew = BL.Permissions.CheckUserPermission(this.UserDetails.UserId, this.UserDetails.RoleId, BL.Common.permission_AddNewRisk),
        ShowAdmin = BL.Permissions.CheckUserPermission(this.UserDetails.UserId, this.UserDetails.RoleId, BL.Common.permission_AdminRights)
    };

    return PartialView("_Menu", model);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-25 12:38:39

是否只有在找不到用户时才会在BuildMenu控制器的Menu操作中进行重定向?

这将导致此错误,因为这是引用的子操作。

我刚刚对此进行了精确的测试,得到了错误:

Child actions are not allowed to perform redirect actions

如果this.UserDetails值为null,根据我假设的主索引中的条件,这是可能的,那么这将导致一个异常,该异常可能被包含重定向的全局应用属性捕获。

我也对此进行了测试,得到了同样的错误。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19588470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档