2009-05-22 47 views
0

我有一个Windows窗体控件封装在一个DLL中,并部署到对象标签内的IE的问题。该对象应返回一个字符串,该字符串将JavaScript放入隐藏字段中,准备发回服务器。这是我多次使用的方法,但是我现在正在从Javascript获取可怕的“对象不支持此方法或属性”的错误消息。我缩小了这个范围,以调用返回字符串的函数。Windows窗体控件在IE中没有响应JavaScript调用

事情我已经消除:在函数调用

  1. 拼写错误
  2. 被调用的函数是公共职能
  3. 权限错误 - 在本地主机上所有正在运行的,受信任的站点,等

可能相关的事物:

  1. 该DLL包含几个类这是在控制
  2. 控制是自定义使用,但使用各种窗口的形式控制
  3. 的基本流程是控制(其允许用户输入附图的多页)构建一个对象,该对象被序列化并输出到基本64字符串。 javascript调用一个输出函数并将(压缩的)字符串放入一个隐藏的控件中。表单被提交并且字符串被发送回服务器进行处理。

如果有人可以帮忙,我将不胜感激。

<body> 
<script language="javascript" type="text/javascript"> 
    function GetValues(){ 
     alert(document.draw1.ReturnSerialisedObjectString()); 
     return true; 
    } 
</script> 


<input type="hidden" id="hdnData" runat="server" /> 
<input type="button" onclick="javascript:return GetValues();" value="Click Me" /> 

<br /><br /> 

<object id="draw1" classid="SlainteCustomControls.dll#SlainteCustomControls.FreeFormControl" width="482" height="579" viewastext /> 

+1

你能提供在组件的C#代码的一些示例。你实施了IObjectSafety吗?必须正确修饰要通过COM访问的类和方法吗? – AnthonyWJones 2009-05-22 13:17:40

回答

0

尝试: -

alert(document.getElementById('draw1').ReturnSerialisedObjectString()); 
+0

已经有了,这也没有喜悦。 在机器级别可以有其他的东西来阻止用户控件被JavaScript访问吗?我已经修改了CAS策略以允许本地主机的完全权限(用于测试)。 – StickyMcGinty 2009-05-22 11:55:25

相关问题