【发布时间】:2009-05-22 09:22:21
【问题描述】:
我有一个 Windows 窗体控件的问题,该控件包含在 DLL 中并在 Object 标记中部署到 IE。该对象应返回一个字符串,Javascript 会将其放入一个隐藏字段中,准备好发回服务器。这是我多次使用过的方法,但我现在从 Javascript 中收到可怕的“对象不支持此方法或属性”错误消息。我已将其缩小到对返回字符串的函数的调用。
我已经消除的东西:
- 函数调用中的拼写错误
- 调用的函数是公共函数
- 权限错误 - 都在本地主机、受信任的站点等上运行
可能相关的事情:
- dll 包含几个在控件中使用的类
- 控件是自定义的,但使用各种窗体控件
- 基本流程是控件(允许用户输入多页图纸)构建一个对象,该对象被序列化并输出为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 />
【问题讨论】:
-
您能否提供一些组件中的 C# 代码示例。你实现了 IObjectSafety 吗?必须正确修饰类和方法才能通过 COM 访问?
标签: c# javascript windows internet-explorer forms