Asp.net中使用ActiveX控件

在asp.net项目项目中,使用了一个第三方的没有签名的ActiveX控件,代码如下:

<SCRIPT LANGUAGE="JavaScript">


    function Print()
    {
          printClass.PrintBar("0405-0300-0056<@>大客车(柯斯达)<@>车辆<@>2010年7月21日","big");
                                  

   }
</SCRIPT>

<td width="35" height="30" align="center">
                        <OBJECT id="printClass" codeBase="PrintBarXControl1.cab" height="0"
                 hspace="0" width="0" data="data:application/x-oleobject;base64,NHJasYn+TEC1EGtzkIyXNFRQRjAFVEVkaXQABExlZnQCAANUb3ACAAVXaWR0aAJ5BkhlaWdodAIbAAA="
                 align="center" vspace="0" classid="clsid:B15A7234-FE89-404C-B510-6B73908C9734" VIEWASTEXT>
                </OBJECT>
                                     
                    </td>

总是提示 'printClass' 未定义,

一开始考虑到是因为ActvieX未签名,故修改了,IE的安全设置,但还是报同样的错误。

最后google到一个帖子:http://topic.csdn.net/u/20090728/17/7ee50f99-b2ef-41ef-900b-6854b8ba77c4.html

终于解决了,将代码修改为

var printClass = document.getElementById("printClass");

printClass.PrintBar("0405-0300-0056<@>大客车(柯斯达)<@>车辆<@>2010年7月21日","big");

详情可以参考:

net aspx页面定义ActiveX控件的<object></object>定义写的位置问题(http://topic.csdn.net/u/20090728/17/7ee50f99-b2ef-41ef-900b-6854b8ba77c4.html

Asp.Net 中使用客户端Activex控件需要注意的事情http://www.cnblogs.com/Duiker/archive/2005/08/13/213981.html

原文地址:https://www.cnblogs.com/ITHelper/p/1865356.html