ASP.NET是否需要ActiveX?

时间:2010-03-17 15:04:29

标签: asp.net

Asp.Net是否需要ActiveX来进行Ajax调用?我怀疑它确实是因为没有在IE选项中设置“初始化和脚本activeX控件未标记为安全”ASP.NET UpdatePanels不起作用。我是对的吗?

这里非常重要的编辑

我对IE6没有任何疑问。但我甚至可以在IE8(Windows 7)上重现这一点。尝试将IE安全级别设置为高。之后你必须设置:

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

能够使用Asp.NET UpdatePanel。后两个是好的,但第一个......我提醒你这是IE8

6 个答案:

答案 0 :(得分:8)

您收到此错误是因为脚本访问XMLHttpRequest对象(对于AJAX请求),这是在早期版本的IE中通过ActiveX实现的。

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

答案 1 :(得分:2)

不,它没有。

答案 2 :(得分:2)

ActiveX和AJAX完全不相关。 ActiveX是一种允许通过Web传递完全信任的应用程序的机制。 AJAX代表Asynchronous Javascript和XHTML,它是一种更新网页区域而无需将整个内容发回服务器的方法。

答案 3 :(得分:1)

Ajax使用XMLHTTPRequest对象。

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

Firefox,Safari等将此​​作为本机对象实现。 Since IE7 XMLHTTPRequest对象作为本机脚本对象公开。

activeX问题是浏览器问题,而不是asp.net问题。所以答案是否定的。

答案 4 :(得分:0)

简单的答案是否定的,但事实并非如此。但是,浏览器不兼容可能意味着您需要Microsoft的XmlHttp ActiveX对象[例如,旧版本的IE在其JavaScript(JScript)实现中不支持它)。现代浏览器将XmlHttpRequest对象内置到JavaScript中,因此除了与旧版IE的兼容性之外不再需要ActiveX。

答案 5 :(得分:-1)

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