Windows Forms Control в IE не отвечает на вызовы JavaScript - PullRequest
0 голосов
/ 22 мая 2009

У меня проблема с элементом управления Windows Forms, упакованным в DLL и развернутым в IE в теге Object. Объект должен возвращать строку, которую Javascript помещает в скрытое поле, готовое для отправки обратно на сервер. Этот подход я использовал несколько раз, но сейчас я получаю страшное сообщение об ошибке «Объект не поддерживает этот метод или свойство» из Javascript. Я сузил это до вызова функции, которая возвращает строку.

Вещи, которые я уничтожил:

  1. орфографические ошибки при вызове функции
  2. Вызываемая функция является публичной функцией
  3. Ошибки прав доступа - все работает на локальном хосте, доверенных сайтах и ​​т. Д.

Вещи, которые могут иметь отношение к делу:

  1. DLL содержит пару классов, которые используются в элементе управления
  2. Элемент управления является пользовательским, но использует различные элементы управления окнами
  3. Основной поток состоит в том, что элемент управления (который позволяет пользователям вводить несколько страниц чертежей) строит объект, который сериализуется и выводится в строку 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 />

1 Ответ

0 голосов
/ 22 мая 2009

Попробуйте: -

alert(document.getElementById('draw1').ReturnSerialisedObjectString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...