Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET是否需要ActiveX?_Asp.net - Fatal编程技术网

ASP.NET是否需要ActiveX?

ASP.NET是否需要ActiveX?,asp.net,Asp.net,Asp.Net是否需要ActiveX来进行Ajax调用?我怀疑是这样的,因为没有在IE选项中设置“初始化和脚本activeX控件未标记为安全”,ASP.NET UpdatePanels无法工作。我说得对吗 这里有一个非常重要的编辑 我对IE6真的没有任何怀疑。但即使在IE8(Windows7)上,我也能重现这一点。尝试将IE安全级别设置为高。之后,您必须设置: 初始化未标记为安全的activeX控件并为其编写脚本 提交未加密的表单数据 主动脚本 能够使用Asp.NET UpdatePanel

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

这里有一个非常重要的编辑

我对IE6真的没有任何怀疑。但即使在IE8(Windows7)上,我也能重现这一点。尝试将IE安全级别设置为高。之后,您必须设置:

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

能够使用Asp.NET UpdatePanel。后两个还可以,但第一个。。。我提醒你这是IE8。不,它不是。ActiveX和AJAX是完全不相关的。ActiveX是一种允许通过web交付完全信任的应用程序的机制。AJAX代表异步Javascript和XHTML,这是一种更新网页区域而不将整个内容发布回服务器的方法。

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

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

使用.Net页面类
您可以使用JSON进行更标准化的AJAX调用。但是你需要学习AJAX来解决这个问题。

简单的答案是不,它没有。但是,浏览器不兼容可能意味着您需要Microsoft的XmlHttp ActiveX对象[例如,旧版本的IE在其JavaScript(JScript)实现中不支持该对象]。现代浏览器在JavaScript中内置了XmlHttpRequest对象,因此除了与旧版IE兼容外,不再需要ActiveX。Ajax使用XmlHttpRequest对象

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

Firefox、Safari等将其作为本机对象实现。XMLHTTPRequest对象作为本机脚本对象公开


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

如果你把整个问题都考虑进去,这并不完全准确。Asp.Net是否需要ActiveX来进行Ajax调用?不。这怎么不准确?@Sosh-因为在IE5/6中运行的ASP.NET应用程序需要ActiveX才能进行AJAX调用。这些浏览器在JavaScript库中没有对服务器进行异步调用所需的对象,因此如果没有ActiveX,就无法使用AJAX的异步部分。这只会留下JAX。@BenAlabaster:但在这个浏览器中的任何Ajax调用都是这样,与ASP.NET无关。如果问题是“IE6是否需要启用ActiveX才能进行Ajax调用?”那么我会同意你的意见。@Sosh-如果你想拆分不定式,请随意。对所用措辞的细节过于迂腐并不能回答OP所问问题的本质:我的ASP.NET web应用程序是否需要ActiveX才能利用AJAX?说不需要ActiveX就可以使用AJAX是可以的,但这并不能说明全部情况。没有它,它在现代浏览器中也能工作,但在传统浏览器中却不行。哇,真的吗?Internet Explorer 6一定会死。@Dave Swersky-是的,它一定会死,但是数百万企业都有在IE6中运行的遗留内部web应用程序,其中一些没有升级路径。因此,在升级/替换这些应用程序以允许推出新的浏览器之前,Firefox是有必要的。Firefox可以与IE6共存。IE6需要从互联网上屏蔽。如果由于遗留添加而必须保留IE6,我肯定会让它无法访问公司LAN之外的任何内容,因为它只是在乞求您的网络遭受侵扰。实际上IE8也依赖于此属性。@Sergej-它根本不需要它,只是检查本机XMLHTTP是否可用,作为检查的一部分,它会触发此警报。请看这里的区别:在这个问题的上下文中,这是没有意义的。而且我不认为一个比另一个更标准。谁这么说的?我的意思是“更标准”,就像在跨浏览器中一样。UpdatePanel在IE中工作得最好。它们在IE6中是相关的。IE6中没有
XMLHttpRequest
对象
JScript
(IE的JavaScript引擎)强制您通过
ActiveXObject
创建
MSXML2.XMLHTTP
对象。另外,AJAX中的
X
代表
XML
@Matt-我认为“相关”这个词可能会误导。确实存在对ActiveX的依赖,但这两种技术本身并不相关。@BenAlabaster:就这个问题而言,我想它们是相关的。