我用C# 做了ActiveX控件,在web页面中能正常运行,想知道有没办法在ActiveX中的按钮能和web服务器之间进行交互

解决方案 »

  1.   

    假设ActiveX中有一个事件 abcChanged,没有参数,在脚本中你可以这样注册事件处理程序:<OBJECT ID="test1"
    CLASSID="CLSID:A8787630-0528-4739-A594-57A4D80974FF"
    CODEBASE="工程1.CAB#version=1,0,0,0">
    </OBJECT><script language="javascript" EVENT="abcChanged" FOR="test1"> 
    alert(test1.abc);
    </script>
      

  2.   

    当然,这只有在ie中才可以。使用javascript向ActiveX的属性中写或者读数据,或者调用它的方法是很简单的。因此退一步说,我们可以使用一个javascript定时器去监视ActiveX的属性变化,这个做法看起来更通用一些。另外,其实我似乎从来没有遇到过要去处理ActiveX的情况。如果RIA很重要,我会使用Silvelight。而ActiveX控件只是做设备驱动(简直不能算是一个应用),往往只有几行面向端口的输出或者读取返回功能,而并不触发事件。真的要写应用程序,不需要ActiveX控件。
      

  3.   

    另外,其实我似乎从来没有遇到过要去处理ActiveX的情况   -->   另外,其实我似乎从来没有遇到过要去处理ActiveX的事件的情况因此我的ActiveX中不可能有按钮。我强烈建议你使用silverlight这类的RIA工具开发现代的web应用程序。如果你真的需要做成ActiveX,你也应该使用vc++6或者vb6,不应该使用.net,你怎样让客户去部署那动辄上百兆的.net framework呀?!