Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# IE中的Windows窗体控件不响应JavaScript调用_C#_Javascript_Windows_Internet Explorer_Forms - Fatal编程技术网

C# IE中的Windows窗体控件不响应JavaScript调用

C# IE中的Windows窗体控件不响应JavaScript调用,c#,javascript,windows,internet-explorer,forms,C#,Javascript,Windows,Internet Explorer,Forms,我对包装在DLL中并部署到IE对象标记中的Windows窗体控件有问题。该对象应返回一个字符串,Javascript将该字符串放入一个隐藏字段中,以准备发回服务器。这是一种我已经使用过好几次的方法,但是我现在从Javascript收到了可怕的“Object不支持此方法或属性”错误消息。我已经把范围缩小到对返回字符串的函数的调用 我已经消除的东西: 函数调用中的拼写错误 被调用函数是一个公共函数 权限错误-所有操作都在本地主机、受信任站点等上运行 可能相关的事项: dll包含控件中使用的两个类 该

我对包装在DLL中并部署到IE对象标记中的Windows窗体控件有问题。该对象应返回一个字符串,Javascript将该字符串放入一个隐藏字段中,以准备发回服务器。这是一种我已经使用过好几次的方法,但是我现在从Javascript收到了可怕的“Object不支持此方法或属性”错误消息。我已经把范围缩小到对返回字符串的函数的调用

我已经消除的东西:

  • 函数调用中的拼写错误
  • 被调用函数是一个公共函数
  • 权限错误-所有操作都在本地主机、受信任站点等上运行
  • 可能相关的事项:

  • dll包含控件中使用的两个类
  • 该控件是自定义的,但使用各种windows窗体控件
  • 基本流程是,控件(允许用户输入多页图形)构建一个对象,该对象被序列化并输出到一个base 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 />
    
    
    函数GetValues(){
    警报(document.draw1.ReturnSerialisedObjectString());
    返回true;
    }
    

    试试:-


    已经有了,这也没有乐趣。在机器级别上是否还有其他东西阻止用户控件通过JavaScript访问?我已经修改了CAS策略,以允许对localhost(用于测试)具有完全权限。能否在组件中提供一些C#代码示例。您是否实施了IObjectSafety?必须正确修饰类和方法才能通过COM访问?
    alert(document.getElementById('draw1').ReturnSerialisedObjectString());