Kai*_*Kai 5 javascript asp.net jquery webforms jquery-mobile
在ASP.Net Web Form应用程序中使用jQueryMobile是否正确?
在ASP.NET Web窗体中使用jQueryMobile或其他Mobile JS库的优缺点是什么?
Mic*_*out 11
ASP.NET Web Forms是一个很好的框架,但您不需要将其大部分用于使用JavaScript UI框架的移动开发.我将首先列出缺点,然后是替代方案,最后在必须使用Web表单时给出一些提示,尽管有缺点.
ASP.NET Web窗体的问题在于您并不总是完全控制HTML.这可以通过使用控件适配器,避免使用某些控件,以及在控件和页面上使用EnableViewState属性来缓解.ASP.NET Web Forms 4.0还可以缓解一些不可预测的客户端ID等问题.但是,所有这些确实增加了额外的工作,只是为了解决ASP.NET Web窗体的本质.
此外,大多数Web控件都会将JavaScript发送到页面中,以便ASP.NET Web窗体回发模型工作.例如with <asp:DropDown AutoPostBack="true">
,<asp:TextBox OnTextChanged="..." >
或<asp:Panel DefaultButton="...">
.如果您的开发风格主要是服务器端,并且您很高兴不必担心使其全部工作在客户端,那么这非常好.
这<asp:UpdatePanel>
是另一个很好的例子:你将它添加到页面,你有神奇的AJAX启用页面.但它渲染了相当多的JavaScript,所有的视图状态仍然在客户端和服务器之间来回发送,即使是微小的更新,整个页面也会在服务器端处理.
但对于移动开发,您希望针对较小的屏幕和快速加载时间优化页面.通常,移动JavaScript框架负责维护客户端的状态,异步发送和接收消息以及通过JavaScript更新视图.这意味着ASP.NET Web Forms中用于维护回发状态(视图状态,页面生命周期)的所有基础结构通常都是无用的,有时甚至会适得其反.
我认为整体ASP.NET MVC更适合移动开发,也适用于jQuery Mobile.
如果必须使用ASP.NET Web窗体,则使用控件,如<asp:ListView>
用于呈现要用于jQuery Mobile UI列表元素的HTML.此控件使您可以很好地控制HTML.
尽量不要使用<asp:UpdatePanel>
控件,因为那时你肯定是混合隐喻.一般来说,不要过多依赖邮寄.
相反,您可以在页面上使用可以直接从JavaScript调用的Web方法.具有该[WebMethod]
属性的静态页面方法将返回JSON格式的数据,这非常适合当今的大多数JavaScript框架.这些方法必须声明为静态的事实意味着它们不参与页面的生命周期.这也意味着它们具有更好的性能特征.
最后,即使您使用Web窗体,也可以始终使用.ashx文件(基本IHttpHandler及其异步表兄,IHttpAsyncHandler)或具有ScriptService属性的Web服务.如果您决定将来使用ASP.NET MVC,这些选项也将很好地迁移.
归档时间: |
|
查看次数: |
7196 次 |
最近记录: |