2009-04-09 4 views
6

Jaka jest różnica między tymi trzema próbkami kodu poniżej? Czy jest lepszy od innych i dlaczego?Właściwy sposób wprowadzania jQuery do ASP.NET (lub dowolnego innego zewnętrznego JavaScript)

1.Page.ClientScript.RegisterClientScriptInclude(typeof(demo), "jQuery", 
               ResolveUrl("~/js/jquery.js")); 

2. 
<asp:ScriptManager runat="server"> 
    <Scripts> 
     <asp:ScriptReference Path="~/jquery-1.2.6.min.js" /> 
     <asp:ScriptReference Path="~/jquery.blockUI.js" /> 
    </Scripts> 
    </asp:ScriptManager> 

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

Widziałem ludzi przy użyciu jQuery w swoich przykładach, a każdy z nich przynosi jQuery w ASP.NET w inny sposób. Jaka jest najlepsza droga?

Odpowiedz

2

Pierwszym z nich jest

używany po stronie serwera za dodanie skryptu klienta

Drugim jest

używany z zarządzaniem ASP.NET AJAX scripts .Jeżeli jQuery wykryje moduł ASP.Net AJAX ScriptManager, użyje go do zarejestrowania t he skrypty zamiast Page.ClientScript

Trzeci jest

zwykły sposób, aby zarejestrować plugin jquery

I zazwyczaj wolą ostatni nad drugim, ale i tak nigdy nie używam Ajaxa, a pierwszego, którego potrzebowałem tylko wtedy, gdy chcesz dodać skrypt po odświeżeniu go do serwera.

1

Zależy od tego, co próbujesz osiągnąć. Pierwszy dodaje tag skryptu do twojej strony podczas renderowania, od strony serwera. Może to być przydatne do dodawania dynamicznie generowanego JavaScriptu i podobnych rzeczy.

Druga opcja jest interesująca tylko wtedy, gdy używasz ASP.NET AJAX do zarządzania JavaScript, ponieważ rejestruje on wiele innych skryptów JavaScript na stronie.

Więc jeśli chcesz utrzymać wszystko czyste i tylko plan na użyciu jQuery, iść z opcją 3.

0

Sposób nr 2 działa dobrze, jeśli chcę js zostać włączone do pewnego usercontrol, ale nie na każdy strona. Menedżer skryptów zapewnia również, że nie mam zduplikowanych odniesień do skryptów. Jeśli chcesz, aby js znajdował się na każdej stronie (ponieważ jquery prawie zawsze będzie), to metoda # 3 jest najczystsza.

1

Naprawdę nie podoba mi się opcja 1, chyba że budujesz Kontrolę użytkownika.

Używam tylko ScriptManager, jeśli zamierzam używać biblioteki Microsoft AJAX na tej stronie. Umieszczając tam, dodajesz wiele dodatkowych rzeczy, które strona musi pobrać (możesz to sprawdzić za pomocą Firebug). Jeśli posiadasz JavaScript w plikach zasobów, ScriptManager może go również zminimalizować. Ale to wymaga ponownej kompilacji, jeśli zmienisz JavaScript.

Zazwyczaj używam opcji 3.

Powiązane problemy