代码之家  ›  专栏  ›  技术社区  ›  Sergej Andrejev

ASP.NET是否需要ActiveX?

  •  5
  • Sergej Andrejev  · 技术社区  · 14 年前

    ASP.NET是否需要ActiveX来进行AJAX调用?我怀疑是因为没有在ie选项asp.net updatepanels中设置“initialize and script activex controls not marked as safe”就无法工作。我说的对吗?

    一个非常重要的编辑

    我对IE6没有任何怀疑。但我甚至可以在IE8(Windows7)上复制。尝试将IE安全级别设置为高。之后,您必须设置:

    • 初始化并编写未标记为安全的ActiveX控件脚本
    • 提交未加密的表单数据
    • 活动脚本

    才能使用ASP.NET UpdatePanel。后两个没问题,但第一个…我提醒你这是IE8

    6 回复  |  直到 14 年前
        1
  •  8
  •   Nick Craver    14 年前

    因为脚本访问 XMLHttpRequest 对象(用于ajax请求),在早期版本的ie中通过activex实现。

    因为它甚至在检查,你得到这个警报。不,它不是ASP.NET所必需的,但如果禁用,则早期版本的IE可能会出现部分回发问题。

        2
  •  2
  •   UpTheCreek    14 年前

    不,没有。

        3
  •  2
  •   Dave Swersky    14 年前

    activex和ajax完全不相关。ActiveX是一种允许通过Web传递完全信任应用程序的机制。ajax代表异步javascript和xhtml,这是一种更新网页区域的方法,而无需将整个内容发布回服务器。

        4
  •  1
  •   Joe Ratzer    14 年前

    ajax使用xmlhttprequest对象。

    在IE 7之前,IE使用ActiveX实现此对象。

    firefox、safari等将其作为本机对象实现。 Since IE7 xmlhttprequest对象作为本机脚本对象公开。

    ActiveX问题是浏览器问题,而不是ASP.NET问题。所以答案是否定的。

        5
  •  0
  •   BenAlabaster    14 年前

    答案很简单,不是这样的。但是,浏览器不兼容可能意味着你需要微软的xmlhttp activex对象(例如,旧版本的ie在javascript(jscript)的实现中不支持这个)。现代浏览器将xmlhttprequest对象内置到javascript中,因此除了与旧版本的ie兼容之外,不再需要activex。

        6
  •  -1
  •   MindStalker    14 年前

    使用.NET页类 http://msdn.microsoft.com/en-us/library/ms178138.aspx 您可以使用json进行更标准化的ajax调用。但是您需要为此学习ajax。