我在视图文件夹下有两个文件夹。一个是 Home 并且有 index.aspx 文件在视图文件夹中的另一个文件夹称为 DashBoard 并且有 MyDash.aspx
我的路由代码看起来像 global.asax
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
);
routes.MapRoute(
"DashBoard", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "DashBoard", action = "MyDash", id = UrlParameter.Optional } // Parameter defaults
);
}
所以当我输入像http://localhost:7221/或http://localhost:7221/Home这样的 url 时 index.aspx 正在从主文件夹呈现但是当我输入像http://localhost:7221/DashBoard这样的 url然后未找到页面即将到来,但如果我输入http://localhost:7221/DashBoard/MyDash则页面即将到来。
所以我的第二个路由代码有什么问题。为什么当我输入http://localhost:7221/DashBoard之类的 url 时 MyDash.aspx 没有出现。怎么了?
我需要在我的第二个路由代码中更改什么?
请看一看……我是 MVC 的新手。谢谢
我的更新
当我更改 global.asax 文件中的路由条目时,它开始工作。你能解释一下为什么....
routes.MapRoute(
"DashBoard",
"DashBoard/{action}/{id}",
new { controller = "DashBoard", action = "MyDash", id = UrlParameter.Optional }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
我可以这样写路由代码吗
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new { controller = "DashBoard", action = "MyDash", id = UrlParameter.Optional }
);
两个网址的相同模式....请详细讨论。谢谢