У меня проблема с элементом управления Windows Forms, упакованным в DLL и развернутым в IE в теге Object. Объект должен возвращать строку, которую 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 />