使用asp .net mvc的catchall maproute时捕获基本URL

时间:2013-07-28 09:33:35

标签: asp.net-mvc maproute url-action

如果我使用像

这样的maproute
routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );

Url.Action("","")生成的网址与我的网站的基本网址www.mysite.com/类似。但是当我使用带有星号的那个

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

结果Url.Action("","")的网址与www.mysite.com/Home/Index/类似,但在第二种情况下,我想获得www.mysite.com/这是我的基本网址。我该怎么办?

1 个答案:

答案 0 :(得分:0)

我找到了一个捕获基本网址的解决方案。如图here所示,可以使用HttpRuntime.AppDomainAppVirtualPath获得基本网址。