在asp.net中使用ajax

我对使用哪种方法感到有点困惑:
1-使用Jquery调用实现订单的HttpHandler页面。
2-使用ICALLBACKEventHandler – 阅读更多 。
你能给我一些关于哪一个更有效使用的建议。
谢谢

基本阅读

我建议你这个链接,以帮助你更好地理解选项,并选择你想要的:

  • 为什么ASP.NET Ajax UpdatePanel很危险?

  • 使用jQuery直接调用Ajax页面方法 。

  • 简化从jQuery调用ASP.NET Ajax服务 。

我的选择

我更喜欢在需要时使用jQuery.ajax()和jQuery Templates Plugin (从AJAX调用加载表格数据)。 一种轻量级方法,对开发人员有更多控制权。 我不喜欢微软喜欢在我们使用他们的处理程序时生成愚蠢的代码

安全漏洞

但是没关系,你可能会在评论时指出一些安全问题。

你关于Referer轻松操作的注释很有意思,但是这个漏洞并不是jQuery独有的。 问题是AJAX本身的概念已经带来了几个安全漏洞 ,这些漏洞是多年来讨论的已知问题。

重要的是要注意使用ICallbackEventHandler 不是一个解决方案 ,因为它只是生成AJAX请求的另一种方式,而无需您输入它。 但是如果异步请求存在,它总是可以以某种方式被拦截,就像$.ajax()一样。

最后,您已经给出了“几乎”的答案: 将安全令牌作为参数传递更好 。 如果您使用MasterPageHiddenField的令牌生成将被抽象为单个代码。 您可以使用JavaScript函数进行封装,该函数负责使用此标记作为参数进行AJAX调用。 一切都只是软件架构的问题。

我称之为“差不多”的答案,因为没有什么是完全安全的, 安全令牌也可以被黑客入侵 。 是的,它更加艰难和罕见,但99%绝不是100%。

恢复

使用ICallbackEventHandler第二个选项可能有许多安全问题以及$.ajax()第一个选项,因为处理程序将生成一些类似于您要键入的任何代码的代码。 最后,您的选择必须是品味问题。 但请记住阅读并采取有关两种情况下安全性的必要方法。