asp.net – 从IE8中的OBJECT标记调用.Net程序集

前端之家收集整理的这篇文章主要介绍了asp.net – 从IE8中的OBJECT标记调用.Net程序集前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个调用.Net程序集的网页.在 Windows XP和IE7中一切正常.相关部分:
<html>
<head>
    <script language="javascript" type="text/javascript">
    function doScript() {
        myControl1.Go("value1","value2");
    }
    </script>
</head>
<body onload="javascript:doScript();">
    <object id="myControl1" name="myControl1" 
            codebase="../cabs/myassembly.dll" 
            classid="../cabs/myassembly.dll#MyNs.MyClass" 
            width="1" height="1"></object>
</body>
</html>

我无法在Windows 7中使用IE8.一些说明:

>组装很有名.
>我现在正在localhost上托管这个.

>在正在运行的计算机上(VirtualBox托管的WinXP,IE7),它使用的是我的本地计算机的IP地址(http://1.2.3.4 / …),并且该IP位于“受信任的站点”中. IE浏览器.
>在无法运行的计算机上(Windows 7,IE8),它使用http:// localhost / …并且localhost位于IE的“可信站点”中.

>程序集由http://localhost/cabs/myassembly.dll提供.
>错误消息是一个javascript错误,“对象不支持属性方法
> Fiddler在请求文件显示200 OK响应,但是,似乎dll没有进入临时Internet文件位置.
>该站点以“IE 7兼容性”模式运行.
>我已将所有IE权限放弃到最不安全的地方,它会让你在所有区域中,并且行为完全相同.

有没有人有任何想法试图让这个工作或解决问题所在?

免责声明:是的,我意识到这是2012年,世界已经超越了IE7,IE8,ActiveX等.让我们说我们在技术上有点落后.这是我必须解决的问题;升级到现代解决方案不是一种选择.

更新:我确实让它在运行IE8的Windows XP VirtualBox中运行.因此,问题似乎是Windows 7特有的.它在我的本地计算机和运行Windows 7,IE8的VirtualBox上都失败了.

解决方法

这是通过添加“Loading .NET UserControls in IE with .NET 4.0”上回答的注册表项来解决的(即使这是一个2.0控件)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
"EnableIEHosting"=dword:00000001
原文链接:https://www.f2er.com/aspnet/245391.html

猜你在找的asp.Net相关文章