动态引用javascript文件

时间:2013-05-15 12:09:06

标签: javascript asp.net reference

我有一个母版页,其中包含对js文件夹的javascript文件的引用。 文件和母版页都在根目录中。

我的许多表单都在不同的文件夹中,如

  Root>first>abc.aspx
  Root>second>def.aspx
  Root>second>anotherFolder>def.aspx

我保留了这样的引用

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

我还尝试了src="<%= Page.ResolveUrl("~/js/Check.js") %>"src="~/js/Check.js"。使用Page.ResolveUrlServer.ResolveUrl页面时显示错误。

我需要做什么,以便任何目录中的任何表单都能获得文件的引用。 我不希望以各种形式../../../

2 个答案:

答案 0 :(得分:4)

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

你可以使用“/” - &gt;网站根

答案 1 :(得分:1)

如果您正在运行Visual Studio的内部服务器进行调试,请先删除它坚持使用的虚拟文件夹。

通过在VS Solution explorer中选择站点的根目录,然后右键单击并选择“属性窗口” - 在属性中将“虚拟路径”从“AppName”更改为/

这条虚拟路径会对各种路径造成严重破坏。我发现如果我不在VS中进行此更改,那么当我将所有路径都工作时,当我将网站置于直播状态时,它们将无法工作没有使用虚拟站点的服务器。

然后使用src中的根<script type="text/javascript" src="/js/Check.js"></script>将JS引用设置为/

<强>更新

如果你真的想要保留虚拟文件夹,那么你可以试试这个 - 使用ResolveClientUrl()

首先,将Runat="Server"添加到<head>

<head runat="server" id="myhead">

<script type="text/javascript" src='<%=ResolveClientUrl("~/js/check.js") %>' />