2009-06-22 10 views
5

Próbuję użyć biblioteki jquery w ASP.NET w podfolderze o nazwie "samples" z masterpage, który znajduje się w katalogu głównym. Obecnie odniesienia do skryptów jquery znajdują się w tagu głównym strony wzorcowej. Jeśli strona, którą tworzę, znajduje się również w katalogu głównym, wszystko działa poprawnie. Jeśli przeniesię stronę do podkatalogu "samples", jquery zostanie zerwany.Używanie JQuery w podfolderze Gdy strona wzorcowa znajduje się w folderze głównym

mogę rozwiązać ten problem za pomocą coś jak następuje w tagu głowy:

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

... ale potem stracić możliwość korzystania z jquery intellisense, bo już nie jestem podłączony bezpośrednio do pliku w czasie projektowania.

Moje pytanie brzmi: jak mogę użyć biblioteki jquery na stronie .aspx bez utraty łączności z intellisense, gdy moja strona znajduje się w podfolderze, a strona wzorcowa jest w katalogu głównym?

Odpowiedz

10

prostu użyj:

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

oddanie /przedjs rade. Zawsze przechowuję moje pliki css i javascript w oddzielnych folderach i używam tego ustawienia, aby prawidłowo je uwzględnić.

dla intellisense można spróbować tej sztuczki:

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

nie jestem w stanie przypomnieć sobie źródło tej sztuczki.

+0

zrobić to samo, o JavaScript i folder CSS bezpośrednio z korzenia, a następnie używać serwera względny URI zwrócić do mojego CSS/Pliki JS. – Colin

+0

Sprawdziłem, że/before js rzeczywiście pozwala na uruchomienie kodu w obu folderach (więc jest to lepsze rozwiązanie niż ResolveUrl), ale nadal nie pozwoli mi zobaczyć intellisense. Podana przez ciebie sztuczka intellisense też nie działa. – shizbiz

+0

Odzyskuję. Kiedy dodać następnie <%if(true){%> <%}%> Następnie działa zarówno w katalogu głównym, jak i podfolderze, a intellisense działa w obu miejscach. Wystarczająco dobre na teraz. Dziękuję Ci. – shizbiz

1

Można użyć menedżera skryptu zawierać pliki JS:

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

To działa dla obu folderów, ale nie łączy mnie z intellisense . – shizbiz

+0

Bardzo przydatna sztuczka, widziałem ją gdzie indziej, ale nie mogłem jej znaleźć. +1 –

Powiązane problemy