ASP.NET MVC中的动态路由

时间:2019-02-15 22:10:16

标签: c# asp.net-mvc-5 routing

我已经在本地主机中使用了此路由,并且运行良好:

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

但是当我部署到具有这种结构的服务器时:

servername/folder/Controller/Action

样式和页面出现404错误。

我想动态更改本地主机和服务器之间的路由

1 个答案:

答案 0 :(得分:0)

样式表不使用路由,它们位于您在_layout中设置的设置路径中。如果要动态设置样式,则可以使用web.config并根据要部署的环境进行转换以设置位置。

如果要进行动态路由,则需要一个占位符,并且需要在运行时提供值。 文件必须存在于与路由匹配的物理路径中

routes.MapRoute(
  name: "Default",
  url: "{servername}/{folder}/{controller}/{action}/{id}",
  defaults: new { servername = "servername", folder = "foldername", 
     controller = "authentication", action = "Login", id = UrlParameter.Optional }
   };