2011-12-29 28 views
5

ASP.Net Web FormアプリケーションでjQueryMobileを使用していますか?
ASP.NET WebフォームでjQueryMobileやその他のMobile JSライブラリを使用する場合の長所と短所は何ですか?ASP.NET WebFormのjQueryMobile

答えて

11

ASP.NET Webフォームは素晴らしいフレームワークですが、JavaScript UIフレームワークを使用したモバイル開発にはほとんど必要ありません。私は最初にコンディションをリストし、その後に別の方法を示し、最後に、コンプライアンスにもかかわらずWebフォームを使用する必要があるときのヒントを示します。


ASP.NET Webフォームの問題は、HTMLを完全に制御できるとは限りませんということです。これは、certain controlsの使用を避けることによって、およびコントロールおよびページのEnableViewStateプロパティを使用することによって、using control adaptersによって緩和することができます。 ASP.NET Web Forms 4.0は、unpredictable client IDsのような問題のいくつかを緩和します。しかし、それだけでは、ASP.NET Webフォームの性質を回避するために追加作業が必要になります。

また、ほとんどのWebコントロールは、ASP.NET Webフォームのポストバックモデルが動作するページにemit JavaScriptと表示されます。例えば、<asp:DropDown AutoPostBack="true">,<asp:TextBox OnTextChanged="..." >または<asp:Panel DefaultButton="...">となります。あなたの開発スタイルが主にサーバー側であり、クライアントサイドですべての作業を行うように細かく気にする必要がない場合は、これは本当にうれしいことです。

<asp:UpdatePanel>はもう1つの例です。これをページに追加すると、魔法のようにAJAX対応のページが表示されます。しかし、それはかなり多くのJavaScriptをレンダリングし、あなたのすべてのビューステートは依然としてクライアントとサーバーの間でやりとりされ、小さな更新でも完全なページはサーバー側で処理されます。

モバイル開発では、画面を小さくして読み込み時間を短縮するためにページを最適化する必要があります。一般に、モバイルJavaScriptフレームワークは、クライアント側で状態を維持し、メッセージを非同期に送受信し、JavaScriptを介してビューを更新します。つまり、ポストバック(ビューの状態、ページのライフサイクル)間の状態を維持するためのASP.NET Webフォームのインフラストラクチャは、しばしば役に立たず、時には逆効果もあります。


私は、全体のASP.NET MVCは、同様に一般的なモバイル開発のために、とjQuery Mobileのより良いフィット感だと思います。


はあなた必見使用ASP.NET Webフォームは、その後、あなたはjQueryのモバイルUIのリスト要素のために使用しようとしているHTMLをレンダリングするための<asp:ListView>のようなコントロールを使用した場合。このコントロールを使用すると、HTMLをきちんと制御できます。

<asp:UpdatePanel>コントロールを使用しないようにしてください。なぜなら、あなたは間違いなくメタファを混ぜているからです。一般的には、ポストバックにあまり依存しないでください。

代わりに、JavaScriptから直接呼び出すことができるページのuse web methodsを使用できます。 [WebMethod]属性の静的ページメソッドは、JSON形式のデータを返します。これは、今日のほとんどのJavaScriptフレームワークに最適です。これらのメソッドmust be declared as staticがページのライフサイクルに参加していないということです。つまり、彼らはより良いパフォーマンスの特性を持っていることを意味します。

最後に、あなたはWebフォームを使用している場合でも、あなたは常にファイル.ashx使用することができます(IHttpHandler基本的に、それは非同期いとこ、IHttpAsyncHandlerです)ScriptService属性を持つまたはWebサービス。これらのオプションは、将来ASP.NET MVCを使用する場合は、正常に移行されます。

+0

thanks..michielvoo。 ASP.NET Webフォームを使用する必要があるので、Webメソッドを使用するか、非同期ハンドラを使用することを考えていますが、可能であれば、このアプローチを避けたいと思います。 – Kai

+1

私が尋ねる気にならない場合、MVCはJquery Mobileのためにどのように役立ちますか?私は、単に「あなたが.NET WebフォームをMVCに切り替えるのであれば」と言っているが、その背後に推論を提供していない多くの人々を見てきました。私はWebフォームを使用したプロジェクトに取り組んでおり、ポストバックにいくつかの問題があり、WebMethodやUpdatePanelsルートに行きましたが、これについて疑問を抱いていました。 – avivas

1

私はこれがASP.NET WebFormsのバッシングパーティーにならないことを望んでいます。

答えはASP.NET WebFormsとASP.NET MVCの両方が良いです。あなたは今日何を使っていますか?何が最も快適ですか?どのくらい時間がありますか?プロジェクトの締め切りは?

はい、WebFormで生成されたコントロールIDはほとんど迷惑ですが、回避策があります。はい、UpdatePanelから離れるようにしてください。しかし、同時にjQueryの使用を止めることはありません。 UpdatePanelは歴史的に悪用されています。期間。モバイルアプリケーションには適していないViewStateホッガーです。

WebFormsは一日のうちにうまく動作し、ページのライフサイクルを持ち、サーバー側の堅実なロジックを実行できます。モバイル環境では、ほとんど私自身のHTMLを作成し、ViewStateを避けたいので、私はどんなrunat=serverコントロールから離れている傾向があります。さらに、ページレベルの静的[WebMethod, ScriptMethod]は、コードを整理するのに役立ちます。

+0

注:ずっと前からUpdatePanelを捨てて、直感的で(より管理しやすいjQueryのajax呼び出し)、 –

+0

私はjQueryではなく、jQuery Mobileです。 – Kai

関連する問題