我跑这个错误试图处理多个路线:
在“/”应用程序的服务器错误。
布局页面“登录”无法在以下路径找到:“〜/查看/登录/登录”。说明:在当前Web请求的执行过程中发生未处理的异常。请检查堆栈跟踪有关该错误它起源于代码的详细信息和。
异常详细信息:System.Web.HttpException:布局页面“登录”无法在以下路径找到:“〜/查看/登录/登录”。
这里是我的路线配置的代码:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Login",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Login", action = "Login", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Dashboard",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
这里是我的_viewstart代码
@{
string CurrentName = Convert.ToString(HttpContext.Current.Request.RequestContext.RouteData.Values["Controller"]);
dynamic Layout;
switch (CurrentName)
{
case "Login":
Layout = "~/Views/Shared/_LoginPageLayout.cshtml";
break;
case "Dashboard":
Layout = "~/Views/Shared/_Layout.cshtml";
break;
default:
//Admin layout
Layout = "~/Views/Shared/_Layout.cshtml";
break;
}
}
给我一些指导,在那里我可能已经走错了方向?
鉴于开始只使用布局=“〜/查看/共享/ _Layout.cshtml”;
除去这部分=> routes.MapRoute(名称: “登录”,URL: “{控制器} / {行动} /(编号)”,缺省值:新的{控制器= “登录”,动作= “登录”,ID = UrlParameter 。可选的 } );
只是尝试打回家的索引页(当用户试图达到你的基地网站网址是自动与路线)
然后对控制器角色过滤用户如果没有鉴别的重定向他登录。
不要试图打破框架,你的网站建设初期:)