2

我有一个 MVC 应用程序已移动到 wwwroot 中的子文件夹,并且该子文件夹已通过 IIS 成为应用程序。因此,在我的登录页面的 url 看起来像这样之前:

www.mydomain.com/login

现在看起来像这样:

www.mydomain.com/application/login

该应用程序运行良好,它似乎没有影响路由或我的应用程序中的任何链接。但是,它会导致我像这样引用图像 src 的问题:

<img src="/content/images/myimage.png"/>

因为它试图从 url www.mydomain.com/content/images/myimage.png检索图像,这显然返回 404。

在我的 global.asax 文件中,我只使用默认路由,我尝试对其进行修改以将子文件夹作为 url 的一部分:

routes.MapRoute("Default",
                "application/{controller}/{action}/{id}",
                new { controller = "dashboard", action = "index", id = UrlParameter.Optional });

但是,现在当我尝试访问根 URL www.mydomain.com/application时,我只会得到一个目录列表!如果我尝试直接访问控制器,即 www.mydomain.com/application/dashboard,我会得到 404!

有人知道如何通过 MVC 路由处理这种情况吗?

4

2 回答 2

4
  1. You don't need to change your routing. It works from entry point to your app.
  2. Use @Url.Content("~/content/images/myimage.png").

Hope this will help.

于 2012-04-26T09:21:59.970 回答
0

试试这个...

routes.MapRoute("Application",
                "application/{controller}/{action}/{id}",
                new { controller = "dashboard", action = "index", id = UrlParameter.Optional });

routes.MapRoute("Default",
                "{controller}/{action}/{id}",
                new { controller = "dashboard", action = "index", id = UrlParameter.Optional });
于 2012-04-26T09:33:15.407 回答