我已经做了很多路由
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中删除,并分别由EditCategoryDetails和CategoryDetails替换。
问题是,在路由 js和css将无法正常工作,而网址是 localhost / mywebsite / CategoryDetails
并且在我在地址栏末尾手动放置斜杠(//)时正在工作
本地主机/ 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>
等
答案 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>