路由MVC 4应用程序url - css和js无法正常工作

时间:2014-01-13 06:41:57

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing url-routing

我已经做了很多路由

routes.MapRoute(
    name: "Hidden1",
    url: "EditCategoryDetails/{categoryId}",
    defaults: new { controller = "TestController", action = "EditCategory", categoryId = UrlParameter.Optional 
});


routes.MapRoute(
    name: "Hidden2",
    url: "CategoryDetails",
    defaults: new { controller = "TestController", action = "CategoryView" 
});

routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "LoginController", action = "Login", id = UrlParameter.Optional
});

在执行此操作后,控制器和操作名称已从Url中删除,并分别由EditCategoryDe​​tails和CategoryDe​​tails替换。

问题是,在路由 js和css将无法正常工作,而网址是 localhost / mywebsite / CategoryDe​​tails

并且在我在地址栏末尾手动放置斜杠(//)时正在工作

本地主机/ mywebsite / CategoryDe​​tails /

在搜索了js和css问题后,我也做到了这一点

routes.IgnoreRoute("{file}.css");
routes.IgnoreRoute("{file}.js");
routes.IgnoreRoute("{file}.jpg");
routes.IgnoreRoute("{file}.gif");

但没有希望。只有当我在浏览器地址栏的末尾手动添加斜杠(/)时,Js和css才会生效。

在_Layout.cshtml页面中包含js和css为

  <link href="~/Content/Site.css" rel="stylesheet" />
  <script src="~/Scripts/jquery-1.7.1.js"></script>

1 个答案:

答案 0 :(得分:3)

做对了。我网站的一些脚本被称为

 <script src="../Scripts/jquery-1.7.1.js"></script>
 <script src="../Scripts/jquery.easing.1.3.js"></script>

而不是

<script src="~/Scripts/jquery-1.7.1.js"></script>
<script src="~/Scripts/jquery.easing.1.3.js"></script>