>我正在尝试从URL中删除区域名称和控制器名称。我可以删除区域名称。但是,如果尝试删除控制器名称,则会显示"找不到页面错误"。下面是我用来删除区域和控制器名称的代码片段。
public class HomeAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Home";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
//context.MapRoute(
// "Home_default",
// "Home/{controller}/{action}/{id}",
// new { action = "Index", id = UrlParameter.Optional }
//);
//context.MapRoute(
// "Home_default",
// "{controller}/{action}/{id}",
// new { action = "Index", id = UrlParameter.Optional },
// new { controller = "(Home)" }
//);
context.MapRoute(
"Home_default",
"{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new { controller = "(Home)" }
);
}
}
在注册区函数中,前两条路由(注释)工作正常。 如果我使用第一个,URL 带有区域/控制器/操作。如果我使用第二个,该区域不会进入 URL。URL 带有控制器/操作。
在第三个中,我正在尝试删除区域和控制器我的第三条路线有什么问题吗?请建议
你试过这个吗:
routes.MapRoute("default", "{action}/{id}", new {controller = "Home", action = "Index", id = UrlParameter.Optional});