代码之家  ›  专栏  ›  技术社区  ›  Ryan Kinal

Web应用程序根运算符和脚本标记

  •  2
  • Ryan Kinal  · 技术社区  · 14 年前

    有没有办法使用ASP.NET的“Web应用程序根”运算符 ~ 在脚本标记中?如果没有,有没有办法模仿这种行为?

    我的应用程序对不同的子目录使用嵌套的母版页;内容页使用其特定于目录的母版页,该母版页使用根母版页。我想把我的 <script> 根母版页中的标记,因此我不会到处重复代码,但由于我不一定知道任何给定内容页的路径深度,因此我无法可靠地提供指向脚本文件夹的路径。

    我考虑在表格中使用路径 /scripts/jquery.js 但是,由于Visual Studio开发服务器在服务器根目录的子目录中启动应用程序,这将无法很好地转换为活动服务器。举例说明:

    <!-- dev server path -->
    <script type="text/javascript" src="/my_project/scripts/jquery.js"></script>
    
    <!-- live server path -->
    <script type="text/javascript" src="/scripts/jquery.js"></script>
    

    当然,你可以看到这个问题。因为我不是项目的唯一开发人员,所以我对“上线”过程中发生的事情几乎没有控制权;否则,这可能只是一个删除的问题。 /my_project 在“上线”过程中。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Aristos    14 年前

    有一些可能的情况。

    1)对于大型项目,使用本地IIS5.1或其他本地IIS,而不是运行的VS Web。

    2)可以避免第一次痉挛,使用相对路径…如:

    <script type="text/javascript" src="scripts/jquery.js"></script>
    <script type="text/javascript" src="../scripts/jquery.js"></script>
    

    所以你不能强迫他从乞讨开始。

    3)您可以在那里放置一个文本控件,每次都用正确的路径呈现页面加载上的脚本标记。

    4)您可以在第页上呈现SRC

    <script type="text/javascript" src="<%=ResolveUrl("~/scripts/jquery.js")%>" ></script>
    

    我用的是1和3。