jQuery ライブラリを使用して、クライアント側の JavaScript のニーズを補強する予定です。
ASP.Net AJAX と jQuery の両方を使用しようとすると、大きな問題はありますか? どちらのライブラリも特別な目的で $ を使用しているようです。注意が必要な競合はありますか?
また、ASP.Net AJAX を使用する Telerik コントロールも使用します。
ティア
jQuery ライブラリを使用して、クライアント側の JavaScript のニーズを補強する予定です。
ASP.Net AJAX と jQuery の両方を使用しようとすると、大きな問題はありますか? どちらのライブラリも特別な目的で $ を使用しているようです。注意が必要な競合はありますか?
また、ASP.Net AJAX を使用する Telerik コントロールも使用します。
ティア
大規模なプロジェクトで ASP.NET Ajax、jQuery、および Telerik コンポーネントをかなり長い間使用してきましたが、問題は発生していません。
私は間違いなくjQueryを使用することをお勧めします
jQueryにはコアの一部としてnoConflict()メソッドがありますが、その場合、名前付き関数としてjQueryを使用するか、(ドルセレクターの代わりに)選択したものを使用する必要があります。ただし、この方法は「競合する」ライブラリの実装に依存することがよくあります。Ningソーシャルネットワーク(Dojoを使用)とMagento(Prototypeを使用)に使用しようとしましたが、どちらもjQueryで正しく再生できませんでした。これは私の個人的な経験であり、他の人は非常に成功しています。
ASP.NET Ajaxの開発者は、ライブラリをjQueryと組み合わせて使用できるようにするために特定の手順を実行しました。
たとえば、ATLAS CTP(ASP.NET Atlasになったベータ版)には以前は$()関数がありましたが、削除されて$ get()に置き換えられました。
1 つの欠点は、コンテナーによっては、サーバー側のコントロールの名前が変更される可能性があることです。たとえば、次のような場合があります。
<asp:panel id="panel1" runat="server"></asp:panel>
これは、次のようにページにレンダリングできます。
<div id="ctl00$panel1"></div>
したがって$('#panel1')
、セレクターとして使用して jQuery を記述しても機能しません。これを回避するには、ID を動的に生成します。たとえば、次のようになります。
Dim js as String = "$('" & panel1.ClientID & "').whatever();"
これにより、JavaScript が少し読みにくくなる可能性がありますが、非常にうまく機能します。私はこの方法を使用して大規模な Web アプリに取り組んでおり、サイトの外観と機能が大幅に向上したことは言うまでもなく、jQuery によって大幅に時間を節約できました。
価値があるのは、jQuery の $ 関数と ASP.NET AJAX の $ プレフィックス付きショートカット関数 ($get、$find、$create など) の間に競合がないことです。変数fを使用するのと同じように、fooという名前の変数を使用できないわけではありません。
jQuery と ASP.NET AJAX は、ほとんどの場合、うまく連携します。過去 1 年間に、ASP.NET AJAX が jQuery コードを壊すのを見たのは、この jDrawer のシナリオだけでした。しかし、回避策は悪くありませんでした。
私は.netで別のjavascriptフレームワークであるextを使用しています。昔ながらのHTMLフォームコントロールよりもはるかに使いやすいです
<input type="text" id="whatever" />
ASP.netフォームコントロールを使用するより。あまり優れていない組み込みの.netバリデーターではなく、クールなjavascriptフレームワークのフォーム検証を使用したいと思うかもしれませんが、それはあなたの好み次第だと思います。
.netコントロールの使用を継続する場合は、マークアップで生成されるIDが定義したものとは異なることに注意してください。したがって、JSでIDによってコントロールを参照する場合は、次を使用します。
<%=MyControlId.ClientID%>
この質問に関連する最近の開発:
Scott Guthrie は 2008 年 9 月 28 日に投稿しました ( http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspxを参照)。Microsoft は実際にVisual Studio で JQuery の出荷を開始します。MVC プロジェクトには、デフォルトでライブラリが含まれます。Scott は、これが JQuery チームの同意と奨励によって行われていることを示しています。
詳細については、元の投稿を参照してください。
私は ASP.NET Ajax で jQuery を使用しました。どちらも異なることをうまく行うからです。2つを一緒に使用しても問題が発生したことはありません。実際、私は非常に強力な jQuery セレクターを使用して、奇妙な ASP.NET ID の寄せ集めを回避しています。要素のクラスとサブ要素 (基本的には CSS) を選択できるため、非常に使いやすくなっています。
どうやら Telerik は、第 3 四半期のリリースから、いくつかの RadControls に jQuery を追加し始めたようです。
私は jQuery とRadControlsの両方を使用していますが、この絡み合いをこれ以上調べる時間はありませんでした...両方の方法でスイングすることができます.これのいくつかとそれの少しの一般的な経験について;-)
Atanas Korchev の Telerik のブログ (
http://blogs.telerik.com/AtanasKorchev/Posts/08-11-06/ASP_NET_Ajax_Controls_and_jQuery.aspx ) をご覧ください。
そして、MS、jQuery、Telerik、JP Morgan、McDonalds がすべて私たちのデスクトップで混ざり合ってマッシュアップするとき、私たち全員に最高の幸運が訪れますように... ;-)