局部视图在内部区域和外部区域内工作不同

时间:2014-09-13 17:53:56

标签: asp.net-mvc-4 routing partial-views asp.net-mvc-areas invalidoperationexception

我在区域外有两个控制器,我的应用程序有几个区域 我的布局页面包含部分视图呈现代码:

@Html.Action(actionName: "LoginBar", controllerName: "Login")

并在RouteConfig中注册

    routes.MapRoute(
        name: "LoginBar",
        url: "loginbar",
        defaults: new
        {
            controller = "Login",
            action = "LoginBar"
        });

当我在HomeController中浏览页面时:/home它运行良好

当我尝试浏览区域内的网页时:/contentedit/articles异常将在@Html.Action行上抛出:

InvalidOperationException: No route in the route table matches the supplied values.

为什么会抛出此异常以及我需要修改哪些代码?

1 个答案:

答案 0 :(得分:0)

@Html.Action(actionName: "LoginBar", controllerName: "Login")内,您可以像area object这样提供route

@Html.Action("LoginBar","Login",new { area = "//your area name//" })