我已经为路由做了这么多
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
});
执行此操作后, Controller 和操作名称将从 Url 中删除,并分别替换为 EditCategoryDetails 和 CategoryDetails。
问题是,在路由之后,js 和 css 将无法工作,而 url 是 localhost/mywebsite/CategoryDetails
当我在地址栏末尾手动放置斜杠(//)时,它正在工作
localhost/mywebsite/CategoryDetails/
在搜索了 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>
等等
最佳答案
答对了。我网站的一些脚本被引用为
<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>
关于asp.net-mvc - 路由 MVC 4 应用程序 url - css 和 js 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21085321/