我有一个名为Vendor的区域,可以使用此URL访问:
mysite.com/Vendor/Home/index
此名称仅供内部使用,因此我只想在网址中更改为全部&#39 ;;像这样:
mysite.com/All/Home/index
我按如下方式设置VendorAreaRegistration文件:
public override string AreaName
{
get { return "All"; }
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
name: AreaName + "_default",
url: AreaName + "/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional };
}
这个想法是,路由看起来会有所不同,但它实际上会搜索“供应商”。但情况并非如此。现在它无法找到我的任何观点,因为它正在寻找'指数'提交所有'文件夹不存在。
有没有办法做到这一点,更改任何文件或视图的名称?
答案 0 :(得分:2)
区域可以控制视图和视图的位置。但是,路由仅属于URL。因此,如果您只想要URL不同而不是文件位置,则只应更改路由。
public override string AreaName
{
get { return "Vendor"; }
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
name: AreaName + "_default",
url: "All/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional };
}