跪求,俯卧撑求,爬求,跳求,躺着求,玩命求!!!javascript如何捕获Activex的事件!!!
有个heloword的windows窗体控件我把它弄为UserControl1.cs
代码如下:
C# code
public delegate void ClickEventHandler(object sender, EventArgs e);
public event ClickEventHandler Click;
public string OutputParameter
{
get
{
//返回你的数据,这个括号里放你要返回的值
return ("sss");
}
}
private void button2_Click(object sender, EventArgs e)
{
if (Click != null)
{
//事件发生
Click(this, e);
}
}
然后我在bs页面.aspx里面代码如下
C# code
<object id="csharpActiveX"
classid="clsid:F742E011-3467-4447-B069-C5BF3D148EF9"
codebase="Setup.exe" Width="400" Height="400" ></object>
<SCRIPT language="javascript" type="text/javascript" for="csharpActiveX" event="Click">
<!-- {
alert('11111');
-->
</SCRIPT>
可是没有弹出对话框,谁知道怎么回事啊?
------解决方案--------------------不知道 你的页面代码想干什么
------解决方案--------------------codebase你调用的不应该是exe把,应该是一个dll啊
------解决方案--------------------codebase错误貌似没什么关系的
在button2的Click中增加parent.调用所在页面的脚本
vb是这样的,c#没做过
问题是你确保客户端安装了framework?
否则activex怎么运行!?
------解决方案--------------------點了之後有什麽反應。。。
------解决方案--------------------各种求。。。哈哈
DEMO
------解决方案--------------------你看这样行不行,在c#中声明一个函数,该函数的参数为object jfunc,该函数作用为将一个delegate = jfunc,然后在javascript中调用该函数,将javascript的一个函数名传入jfunc。这样再执行c#中的delegate尝试一下。
------解决方案--------------------可能存在的你的activex激活的原因
------解决方案--------------------你的用户控件是不是少东西啊
参照http://apps.hi.baidu.com/share/detail/18677476 一下吧
------解决方案--------------------SCRIPT language="javascript" type="text/javascript" for="csharpActiveX" event="Click">
呵呵,我看的很怪异
------解决方案--------------------能响应,我准备吧头砍下来 呵呵
------解决方案--------------------同學activex 不是這樣寫的
再說用c#寫activex本身就不具可行性 c#需要.netFramework才能運行
你能確保客戶端都裝了.netFramework 嗎
所以你再這個問題上糾結 完全是浪費時間
參考
------解决方案--------------------event="Click(sender,e)"
------解决方案--------------------你最好定义委托时用基本的类型(int string 等多些参数没关系),否则你的考虑控件的列集合散集
------解决方案--------------------是需要这个吗?示例:
<object classid="CLSID:F896679F-13FB-49FD-87E8-2213DD41DF4E"
id=DefaultOcxName width=100% height=100%
codebase="http://CLISOFT-XUJIAN/ETBEditorProj.cab#version=1,0,0,0" hspace=0
vspace=0 VIEWASTEXT>
<param name=Visible value=0>