从ASP.NET MVC应用程序中的url中删除应用程序名称

时间:2013-07-24 16:43:19

标签: asp.net-mvc c#-4.0 asp.net-mvc-4

在我的开发环境中

Url.Action("Index", "User") ---> /user

在生产环境中,应用程序在名为“ucms”的应用程序下配置

Url.Action("Index", "User") ---> /ucms/User

我有基于url即/ user的授权,因此它在生产环境中失败了。如何修复此问题以删除ucms?

修改 路由是默认路由。仅供参考,我已将应用程序从mvc 3.0升级到4.0。

 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
            );

修改 我已经找到了一种方法,有人可以分享这方面的想法。

将虚拟路径存储在web.config中。

   <add key="appvirtualpath" value="~/ucms"/>

在将url传递给数据库层时,我将替换虚拟路径将为空白。

  

Url.Action( “索引”, “用户”),更换(ConfigurationManager.AppSettings [ “appvirtualpath”]。的ToString(),   “〜”);

1 个答案:

答案 0 :(得分:1)

我通过在开发环境中添加虚拟路径来解决这个问题

右键单击项目,属性,Web和虚拟路径。

我不知道是否有办法在生产环境中配置它

enter image description here