Jquery不在跨页面文件夹结构的母版页中工作

时间:2014-02-14 12:17:18

标签: 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

我尝试在site.master上设置jquery就像这样(在头部之后)

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

但是当我点击指向A_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_Page,aspx容器,它将转到该页面。如果我现在单击A_Nother_Page.aspx的容器,它将显示Htpp 404,路径方式将显示:localhost:port / Project / Authenticated_Stuff_Folder / Authenticated_Stuff_Folder / A_Nother_Page.aspx(目录路径有TWICE ..

任何想法?

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

5 个答案:

答案 0 :(得分:0)

ResolveClientUrl创建相对于当前页面的URL。尝试使用ResolveUrl创建相对于根的URL。

答案 1 :(得分:0)

可以这样做:

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

答案 2 :(得分:0)

使用Url.Content(“〜/ Scripts_Folder / jquery.js”)

答案 3 :(得分:0)

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

你可能会得到404,我猜是这样,

  1. 检查src

  2. 中的空格
  3. 尝试Url.Content("~/Scripts_Folder/jquery.js")

答案 4 :(得分:0)

终于搞定了,这与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>

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