当URL具有更多参数时,请致电JavaScript



我在ASP MVC5中有一个应用程序,虽然大多数工作正常,但在引用JavaScript文件时,我会遇到问题,基本上,如果URL直接到MyPage.com/admin/products/等控制器,则创建,脚本被调用并正常工作,但是,在调用控制器和其他参数(如mypage.com/admin/products/edit/1525)时,我必须将'../'添加到JavaScript文件参考或IT如果没有" ../",我不会加载javaScript中的图像或路径的任何引用。我相信我需要在路线上设置一些东西,但不确定,这是我的RouteConfig

    public static void RegisterRoutes(RouteCollection routes)
    {
        var namespaces = new[] {typeof (HomeController).Namespace} ;
        var AdminNamespaces = new[] {typeof (Areas.Admin.Controllers.HomeController).Namespace};
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute("Home", "", new {controller = "Home", action = "Index"}, namespaces);
        routes.MapRoute("Login", "login", new { controller = "Login", action = "Index" });
        routes.MapRoute("Logout", "logout", new {controller = "Login", action = "Logout"});
    }

这是区域注册

    public override void RegisterArea(AreaRegistrationContext context) 
    {
        context.MapRoute(
            "Admin_default",
            "admin/{controller}/{action}/{id}",
            new { action = "Index", controller = "Home", id = UrlParameter.Optional }
        );
    }

不确定我还能包括什么有用

我遇到问题的一个特定脚本是nicedit文本编辑器,我像这样的捆绑包上有它:

        bundles.Add(new ScriptBundle("~/scripts/nicedit")
            //.Include("~/scripts/lodash.js")
            .Include("~/scripts/nicedit.js")
            );

最后,我在视图(而非布局)CSHTML上称其为:

@Scripts.Render("~/Scripts/nicedit")

查看JS和CSS捆绑(现在在.net中可用一段时间)。

请注意,过去的CSS捆绑了图像中的断裂相对URL(在CSS中)存在问题。如果这成为问题,请查看CSS重写变换(MVC捆绑和CSS相对URL)

最新更新