Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在共享的用户控件中设置相对路径_Javascript_Html_Asp.net_User Controls_Relative Path - Fatal编程技术网

Javascript 如何在共享的用户控件中设置相对路径

Javascript 如何在共享的用户控件中设置相对路径,javascript,html,asp.net,user-controls,relative-path,Javascript,Html,Asp.net,User Controls,Relative Path,我有以下解决方案结构 文件柜(文件夹) cabinet.aspx 图像(文件夹) 脚本(文件夹) 折叠1 menu.js 用户控件(文件夹) menu.ascx default.aspx 在userControl内部,我有菜单.ascx(userControl) 在menu.ascx中,我引用了几个.js文件。例如: <script src="./script/folder1/menu.js"></script> 菜单代码在源代码中,但menu.js

我有以下解决方案结构

  • 文件柜(文件夹)
    • cabinet.aspx
  • 图像(文件夹)
  • 脚本(文件夹)
    • 折叠1
      • menu.js
  • 用户控件(文件夹)
    • menu.ascx
  • default.aspx
在userControl内部,我有
菜单.ascx
(userControl)

menu.ascx
中,我引用了几个.js文件。例如:

<script src="./script/folder1/menu.js"></script>
菜单代码在源代码中,但
menu.js
文件是404

http://localhost/cabinet/script/menu-files/menu.js
看起来它需要走得更远。我当然希望它会去:

 http://localhost/script/menu/menu.js  
要做到这一点,我需要做什么?

两种方法之一:

  • 通过“/script/folder1/menu.js”以绝对引用将脚本引用锚定到站点根(注意它是如何以正斜杠开头的)。例如,
    。这意味着要看网站的根并从那里继续下去

  • 让脚本标记runat=“server”并通过“~/script/folder1/menu.js”将其根目录到应用程序根目录(注意“~/”开头)。例如
    。这将确定站点根服务器端并相应地生成正确的路径


  • 在所有情况下,除非您的开发环境不允许(我在那里显示我的年龄,返回WinXP进行开发),或者您正在配置一个应用程序,该应用程序将驻留在您站点的虚拟应用程序子目录中,使用第一个选项。

    我发现问题在于正在启动的Visual Studio Web实例,以及需要在IIS上设置头以允许代码工作的事实

    因此,本质上我安装了IIS7.5并创建了一个站点,现在我只需连接到进程来对此进行调试


    一旦我正确设置了IIS,代码中的路径就会正常工作。

    Hmmm。。。我尝试了这两种方法,第一种方法没有加载.js文件,第二种方法在声明级别的usercontrol中出现错误:如果第一种方法不起作用,那么您就没有提供足够的信息。如果您直接访问脚本文件,它的URL是什么?也就是说,至于第二个,异常信息是什么?
     http://localhost/script/menu/menu.js