2

我建立了一个标准的MVC应用程序与控制器和视图及以下路线: -MVC路由一个文件夹里面

routes.MapRoute 
(
    name: "PageNumber", 
    url: "{controller}/{action}/page-{pageNumber}", 
    defaults: new { controller = "Home", action = "PageNumber" } 
); 
routes.MapRoute 
(
    name: "Default", 
    url: "{controller}/{action}/{id}", 
    defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional } 
); 

因为这是一个后端系统,将有正面一个基本的HTML网站这个的。这意味着我需要的路线我的网站到子文件夹,这样的URL是这样的: -

SubFolder/Controller/Action/{id} 

我怎么能做到这一点,而不会改变我所有的硬编码链接到包含该子文件夹。我不能使用MVC这个区域,所以想知道是否有改变路由的方法来自动预先设定URL的SubFolder位?

谢谢!

回答

1

你可以做一个新的路径:

routes.MapRoute(
      name: "Subfolder", 
      url: "Subfolder/{controller}/{action}/{id}", 
      defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional } 
     ); 

但是你不应该硬编码的链接,如果你有未来的计划来替换你可以使用@Html.ActionLink生成锚标记为你的基本的HTML页面。

+0

我会试试这个,让你知道我在哪里!感谢您的建议! –

+0

完美的作品!谢谢。因为我们在链接中嵌套了HTML,所以将链接更改为'href =“@ Url.Action()”>“。 –