0

您好我正在努力解决以下问题:

我有以下路由,一个是默认路由,另一个是本地化链接。当我尝试访问 url Like:http://domain.com/en/Home/Index一切似乎都很好。但是当我尝试类似的事情时:http://domain.com/en/Home/Index/5然后我遇到了一系列错误:

找不到路径“/en/Scripts/jquery.ui.js”的控制器。

找不到路径“/en/Content/Images/...”的控制器。

等等..

但我还有另一种情况..当我尝试访问这样的网址时:

http://domain.com/en/Home/Index?id=5一切似乎都很好。

这是我的路线定义:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("favicon.ico");
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        RouteTable.Routes.IgnoreRoute("{*favicon}",
                                      new {favicon = @"(.*/)?favicon.([iI][cC][oO]|[gG][iI][fF])(/.*)?"});

        routes.MapRoute(
            "DefaultLocalized", // Route name
            "{language}/{controller}/{action}/{id}", // URL with parameters
            new {language = "en", controller = "Home", action = "Index", id = ""} // Parameter defaults
            );

        routes.MapRoute(
            "Default",
            "{controller}/{action}/{id}",
            new{controller = "Home",action = "Index",id = ""}
            );

    }

如果有人有一些建议,很高兴倾听。谢谢!

4

1 回答 1

0

问题在于在链接 .css 和 .js 文件时使用了直接指针href 。

在处理虚拟/子目录时,最好是所有到静态文件的链接都通过@Url.Content("~/Scripts/SomePlugin.js")

但不像传统的../../Scripts/SomePlugin.js链接

于 2013-08-06T08:38:05.613 回答