Using JQuery in a Subfolder When the MasterPage is

2019-04-08 17:03发布

问题:

I am trying to use the jquery library in ASP.NET in a subfolder called "samples" with a masterpage that is located in the root directory. Presently the references to the jquery scripts are located in the head tag of the master page. If the page I am creating is also in the root directory, everything works fine. If I move the page to the "samples" subdirectory, the jquery breaks.

I can fix the problem by using something like the following in the head tag:

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

...but then I lose the ability to use jquery intellisense, because I am no longer directly connected to the file in design time.

So my quesiton is this: How can I use the jquery library on a .aspx page without losing connectivity to the intellisense when my page is in a subfolder and the master page is in the root?

回答1:

simply use this:

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

putting / before js do the trick. I always keep my css and javascript files in separate folders and use this tweak to rightly include them.

for intellisense you can try this trick:

<%if(true){%>
    <script src="/js/jquery.js" type="text/javascript"></script>
<%}%>

I'm not able to recall the source of this trick.



回答2:

You could use a script manager to include the JS files:

<asp:ScriptManager runat="server">
    <Scripts>
        <asp:ScriptReference Path="~/js/jquery.js" />
    </Scripts>
</asp:ScriptManager>