微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – MS UpdatePanels真的不是AJAX吗?

我一直听说服务器端的ASP .NET AJAX控件(比如UpdatePanels)虽然看起来不是真正的AJAX,但因为渲染并不完全在客户端.我试图更清楚地理解这一点.有人可以详细说明吗?

谢谢…

解决方法

UpdatePanels在AJAX循环中很早就出现了,它们很重(它们可以发出大约100-300k的 JavaScript).在幕后,UpdatePanels通过JavaScript XMLHttpRequest将整个页面发布回服务器.新页面使用正常页面生命周期生成,就像回发一样,但只有UpdatePanel内部的部分(以及更新ViewState等所需的部分)才会发送回客户端.从那里插入标记而没有可见的闪存或页面状态的中断.

大多数竞争的AJAX工具都倾向于超轻量级的实现,这些实现允许您通过Javascript发布或生成一小部分HTML,我想这是今天的主导方向,尤其是在ASP.NET世界之外.

通过网络发送的数据总量的差异很大 – 请参阅下面的链接.在低流量情况下,它可能没有什么区别,但在像StackOverflow这样的网站的情况下,它肯定会显示在带宽账单上.

总而言之,我认为UpdatePanels实际上不是AJAX是不公平的,因为他们通过异步JavaScript发布HTML – 只是在顶部有一个巨大的,通常很麻烦的框架. UpdatePanels有时会得到糟糕的说唱,但它们提供了非常简单的开发者体验.我经常发现它们在低流量情况下很有用.

更新:Here是一篇文章(旧的但仍然有效),用于检查与服务器之间的有效负载UpdatePanel.它还涉及Page Methods,它是一种基于Web Service的轻量级替代UpdatePanels.这是Microsoft AJAX经常被忽视的部分.

原文地址:https://www.jb51.cc/csharp/98386.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐