C# Jquery未在母版页中跨文件夹结构运行

C# Jquery未在母版页中跨文件夹结构运行,c#,javascript,jquery,asp.net,visual-studio-2010,C#,Javascript,Jquery,Asp.net,Visual Studio 2010,我正在尝试使用基于jquery的现有下拉菜单。我有一个设置身份验证所必需的文件夹结构。还需要一个母版页,它位于一个或多个文件夹目录的根目录下:类似于: Project Scripts_Folder Jquery.js Jcustom.js Authenticated_Stuff_Folder A_Page.aspx A_Nother_Page.aspx About.aspx site.master 我试着在网站上设

我正在尝试使用基于jquery的现有下拉菜单。我有一个设置身份验证所必需的文件夹结构。还需要一个母版页,它位于一个或多个文件夹目录的根目录下:类似于:

Project
    Scripts_Folder
        Jquery.js
        Jcustom.js
    Authenticated_Stuff_Folder
        A_Page.aspx
        A_Nother_Page.aspx
About.aspx
site.master
我试着在网站上设置jquery.master

<script src="Scripts_Folder /jquery.js" type="text/javascript"></script>
<script src="Scripts_Folder /jcustom.js" type="text/javascript"></script>
但是当我点击指向一个_Page.aspx的菜单结构容器时,它说JQuery没有定义 所以我换了

<script type="text/javascript" src="<%= Page.ResolveClientUrl("~/Scripts_Folder /jquery.js") %>"></script>
<script type="text/javascript" src="<%= Page.ResolveClientUrl("~/Scripts_Folder /jcustom.js") %>"></script>
现在它工作了…但只有一次。如果我点击A_页面,aspx容器,它将进入页面。如果现在单击另一个页面.aspx的容器,它将显示Htpp 404,路径方式将显示:localhost:port/Project/Authenticated\u Stuff\u Folder/Authenticated\u Stuff\u Folder/A\u other\u Page.aspx目录路径有两次

有人有什么想法吗

在这方面仍然没有任何进展。。我还尝试了另一个第三方下拉列表,它有完全相同的问题。这肯定是一个已经在某处解决的问题吗?因为它很难完全避免目录的网站。同样,任何人都可以很容易地重现这个问题。创建一个新的ASP网站我使用visual studio 2010和一个文件夹到项目的根目录,在其中创建一个新的aspx页面。下载我尝试过的Superfish和UvumiTools的一个开源下拉列表,并将其合并。将菜单中的一个元素指向您创建的文件夹中的页面。。嘿,请打开一个下拉菜单,该菜单不适用于文件夹/目录!令人沮丧。

ResolveClientUrl创建了相对于当前页面的URL。尝试ResolveUrl,它创建相对于根的URL。

可以这样做:

<script type="text/javascript" src="<%= Url.Content("~/Scripts_Folder /jquery.js") %>"></script>

使用Url.Content~/Scripts\u文件夹/jquery.js

<script src="Scripts_Folder/jquery.js" type="text/javascript"></script>
<script src="Scripts_Folder/jcustom.js" type="text/javascript"></script>
你可能会得到404我想是的

检查src中的空格

试试Url.Content~/Scripts\u Folder/jquery.js

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

最终得到了这个,这与JQuery无关!对不起,这里的问题是我在基本html方面的缺点。在我的li标签中,我认为他们能够神奇地自己找到路径,或者神奇地知道在必要时返回一个级别。英雄联盟 我将这些更改为如下所示:

<ul>
            <li>
                <a href="/WebSite/Stuff/DOThis.aspx">menu item 1</a>
            </li>

            <li>
                <a href="/WebSite/Stuff/DOThat.aspx">menu item 2</a>
            </li>
</ul>

这解决了问题。谢谢大家。

HI Emin,尝试过这个,但仍然在路径中的目录上加倍。根据您在问题中提到的文件结构,这应该会像预期的那样起作用:当您使用~sign时,它意味着它从根开始,并向下延伸到您定义的文件夹结构。。例如,上面假定您的项目位于D:\MyProjects文件夹下的代码将显示为D:\MyProjects\project\Scripts\u folder\jquery.jsI我知道理论上应该是这样的,但这就像我在容器上单击第一个页面时一样明显,但是,当我单击完全相同的容器时,它会立即再次使用相同的文件夹目录和courseOK的错误作为文件夹目录的前缀。在这种情况下,您能否用一些代码更新您的问题,说明您是如何尝试实现这一点的?特别是装订部分。如果jquery工作正常,问题不在于包含jquery文件。但肯定是另外一回事。我刚刚创建了一个新项目,并创建了我已经发布的文件夹结构。但是,我使用的是第三方下拉菜单,名为superfish free online jquery menu,因此没有额外的代码。感谢编辑Palash抱歉,实际代码中没有空格。。我想我一定是刚刚发布了这样的问题。@jbob-这个帖子可能会帮助你对于Url.Content,请在Config中检查您的网页版本。我无法获取Url。内容正常。它说当前上下文中不存在Url。内容不喜欢Url。内容是否需要引用?这是MVC项目吗?