客户端回调与Ajax页面方法之间的差异 – ASP.NET
基于我的理解,他们都基本上做同样的事情(让我们从JS执行服务器端方法).有什么区别吗
此外,Ajax页面方法可以使用JQuery或使用ScriptManager来实现.哪一个是首选,为什么? ** BOUNTY:添加赏金以明确说明问题.谢谢 **
从根本上说,Client Callbacks和Ajax页面方法都是一样的.他们使用XMLHttpRequest对象向一些URL发送请求(通常是异步的),获取该请求的结果,然后执行您提供的回调方法(回调与小写c),将请求的结果传递给您的方法.
话虽如此,两种方法有很大的区别: >页面方法作为您的页面上的静态方法实现.你的页面类只是一个方便的容器,这些容器可以真正地托管在任何地方(一个Web服务,一个自定义的HttpHandler等).由于不会构建任何实例,因此客户端不必发送ViewState数据,Asp.Net不必运行该页面的生命周期.另一方面,您无权访问您的Page类的实例方法和属性.但是,在许多情况下,您可以通过将实例方法重构为静态方法来解决此问题. (有关更多信息,请参阅this article) 除此之外,设置它们的成本差异很大,客户使用它们不同: >客户端回拨需要相当数量的特殊脚手架 我更喜欢使用jQuery来访问页面方法,因为它独立于服务器框架,并且暴露出恰当的实现细节数量,但这只是一个问题.如果您使用ScriptManager,它的代理使页面方法调用更容易一些眼睛,哪些可能会更重要. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |