在ASP.Net Web Form應用程序中使用jQueryMobile是否正確?
在ASP.NET web窗體中使用jQueryMobile或其他Mobile JS庫有哪些優缺點?ASP.NET中的jQueryMobile WebForm
回答
ASP.NET Web Forms是一個很好的框架,但您並不需要大部分它用於JavaScript UI框架的移動開發。我將首先列出缺點,然後再列出一個替代方案,最後在必須使用Web表單時提供一些提示,儘管存在缺點。
ASP.NET Web窗體的問題在於,您並不總是完全控制HTML。這可以通過using control adapters來減輕,通過避免使用certain controls以及在控件和頁面上使用EnableViewState屬性。 ASP.NET Web Forms 4.0還可以緩解一些問題,如unpredictable client IDs。但是,所有這些都是爲了解決ASP.NET Web窗體的本質而增加額外的工作。
另外,大多數web控件都會將emit JavaScript放入頁面中,以便ASP.NET Web Forms回發模型正常工作。例如用<asp:DropDown AutoPostBack="true">
,<asp:TextBox OnTextChanged="..." >
或<asp:Panel DefaultButton="...">
。如果您的開發風格主要是服務器端的,並且您很高興不必爲了讓所有這些工作都在客戶端工作而煩惱,這真的很不錯。
<asp:UpdatePanel>
是另一個很好的例子:您將它添加到頁面中,並且您已奇蹟般地啓用了AJAX的頁面。但是它渲染了很多JavaScript,所有的視圖狀態仍然在客戶端和服務器之間來回發送,即使是微小的更新,整個頁面也會在服務器端進行處理。
但是,對於移動開發,您希望優化您的頁面以獲得更小的屏幕和更快的加載時間。通常,移動JavaScript框架負責維護客戶端的狀態,異步發送和接收消息並通過JavaScript更新視圖。這意味着ASP.NET Web窗體中所有用於在後期維護狀態(視圖狀態,頁面生命週期)中的基礎結構通常都是無用的,有時甚至會起反作用。
我覺得整體的ASP.NET MVC是移動開發一般更適合,而對於jQuery Mobile的爲好。
如果必須使用ASP.NET Web窗體,然後使用像<asp:ListView>
控制渲染,你要使用jQuery Mobile的UI列表元素HTML。這個控件可以很好地控制HTML。
儘量不要使用<asp:UpdatePanel>
控件,因爲那你肯定是在混合比喻。一般來說,不要過分依賴帖子。
取而代之,您可以在您的網頁上使用use web methods直接從JavaScript調用。具有[WebMethod]
屬性的靜態頁面方法將返回JSON格式的數據,這非常適合當今大多數JavaScript框架。這些方法must be declared as static意味着它們不參與頁面的生命週期。這也意味着它們具有更好的性能特徵。
最後,即使當您使用Web窗體,你可以隨時使用.ashx的文件(基本IHttpHandler和它是異步的表妹,IHttpAsyncHandler)或Web服務與ScriptService屬性。如果您將來決定使用ASP.NET MVC,這些選項也可以很好地遷移。
我希望這不會變成一個ASP.NET WebForms抨擊派對。
答案是ASP.NET WebForms是好的,ASP.NET MVC也是如此。你今天在用什麼?你最舒服的是什麼?你有多少時間?項目截止日期是什麼?
是的,WebForm生成的控制ID有點煩人,但有解決辦法。是的,儘量遠離UpdatePanel
,但沒有什麼能阻止你同時使用jQuery。 UpdatePanel
歷來被濫用。期。它的ViewState hogger不適合移動應用程序。
在一天結束時,WebForms可以正常工作,擁有頁面生命週期,並且可以執行一些可靠的服務器端邏輯。在移動環境中,我傾向於遠離任何runat=server
控制,因爲我想主要製作自己的Html並避免ViewState
。另外,頁面級別的靜態[WebMethod, ScriptMethod]
有助於組織您的代碼。
注意:我們很久以前就拋棄了UpdatePanel以支持直接(並且更易於管理的jQuery ajax調用)。 – 2011-12-29 22:18:04
我想在這裏解決的是jQuery手機,而不是jQuery。 – Kai 2011-12-30 07:07:49
- 1. Asp.net中的CSS webform
- 2. Asp.Net MVC和WebForm
- 3. MVC for ASP.net Webform
- 4. ASP.net webform design
- 5. ASP.NET Webform Routing
- 6. Asp.net webform to pdf
- 7. JqueryMobile asp.net authentication
- 8. 在asp.net中路由webform mvc
- 9. 在asp.net webform中替換
- 10. 混合asp.net webform和asp.net mvc
- 11. ASP.NET webform cookie安全
- 12. routes asp.net webform default page
- 13. ASP.NET 4.0 webform站點
- 14. ASP.NET MVC,Webform混合
- 15. jQueryMobile,PhoneGap和ASP.NET MVC
- 16. 在asp.net webform上的MouseOver
- 17. IIS7與ASP.NET Webform的FileNotFoundException
- 18. 單獨的ASP.NET在ASP.NET webform + MVC網站?
- 19. Asp.Net中的System.Windows.Forms.WebBrowser WebForm DocumentCompleted沒有解僱
- 20. 在IronPython asp.net網站中的VB webform
- 21. 如何隱藏ASP.NET webform中的列
- 22. 將asp.net webform轉換爲mvc
- 23. ASP.NET Webform自定義設置
- 24. asp.net Webform錯誤處理
- 25. ASP.NET路由webform查詢
- 26. 添加toastr javascript asp.net webform
- 27. 增加ASP.net WebForm性能
- 28. 從ASP.NET webForm抓取數據
- 29. Colorbox + ASP.NET WebForm提交按鈕
- 30. NVelocity擴展方法ASP.NET webform
thanks..michielvoo。由於我必須使用ASP.NET Web表單,我正在考慮使用webmethods或使用異步處理程序,但如果可能的話,我想避免使用這種方法。 – Kai 2011-12-30 07:50:39
如果你不介意問我,MVC如何爲JQuery Mobile提供更好的幫助?我看到很多人只是說「如果你使用.NET Web Forms切換到MVC」,但沒有提供任何理由。我正在使用Web Forms開發一個項目,並且在回發中遇到了一些問題,並試圖使用WebMethod或UpdatePanels路由,但對此感到疑惑。 – avivas 2012-03-06 20:21:01