Asp.Net 中使用客户端Activex控件需要注意的事情
案例:Asp.Net +VB制作的Activex控件
操作系统:Windows2003 +Sp1
现象1:通过
<OBJECT classid="CLSID:132A80F5-F1D1-4549-B70D-1473B854A938" id="ucHello" VIEWASTEXT>
</OBJECT>
插入控件后,控件可以正常显示。
现象2:
<script language="vbscript">
document.getElementById("ucHello").Caption="Please click button"
sub myclick()
document.getElementById("ucHello").Caption="LiFei I Love You"
end sub
</script>
程序运行过程中,总是报脚本错误,对象不存在。
现象3:
从IE中查看源文件,并为发现错误,拷贝后保存成静态Html页面保存到本地,页面正常显示,脚本运行正常。
现象4:
以Http方式访问静态页面,页面显示不正常,同时报脚本错误。
经过分析,可知无论是静态还是动态页面,以Http方式访问,均报错误,这样可以排除Asp.Net的问题,因此怀疑是IE设置的问题。
最后将IE进行如下设置:
系统运行正常。
我最开始以为是Asp.net的问题,在Google上也找了很多的文章,但是都是说得不清不楚,但是通过现象4排除了Asp.net的问题。所以以后在进行BS+Activex控件的开发中,要考虑Windows中IE设置的问题,由于处于开发阶段的控件不可能数字签名,因此不要因为这个细节,影响了开发。
BTW:原先以为是Asp.net的问题,浪费了好多时间的,晕。