Я пытаюсь использовать сторонний элемент управления ActiveX на нашем сайте ASP.NET в интрасети, и у меня возникла проблема, которую я не могу понять.
Ожидаемое поведение: элемент управления ожидает увидеть определенную переменную в URL-адресе («msg»). Если вы его предоставите, это работает. Если вы его не предоставите, он жалуется, что значение отсутствует.
Если я помещаю элемент управления на HTML-страницу, он работает нормально. Но если я затем изменю тип страницы на aspx, элемент управления будет действовать так, как будто переменной там нет. Элемент управления все еще загружается и работает; Я не получаю никаких разрешений или сообщений о безопасности. Но он жалуется, что в URL не указано «сообщение».
Другими словами, если я попробую эти URL-адреса, первый будет работать нормально; второй дает мне жалобу "вы не предоставили параметр msg":
(отлично работает) http://mysite.mydomain.com/controltest/test.html?msg=123
(жалуется) http://mysite.mydomain.com/controltest/test.aspx?msg=123
Я знаю, что версия aspx обрабатывается сервером перед отправкой клиенту, но нет никаких серверных команд или тегов (это тот же файл, только что скопированный и переименованный). Насколько я могу судить, результирующая страница, отправляемая клиенту, точно такая же.
Есть ли что-то в aspx и html, из-за чего элемент управления не сможет получить эту переменную? Я прекрасно вижу это по javascript, который я добавляю сам.
Вот содержание страницы. Ничего особенного. Если у меня это сработает, я намерен добавить некоторые теги aspx и код, но пока нет смысла.
<html>
<head>
<title>
ActiveX Control Test
</title>
</head>
<body>
<OBJECT ID="control1" CLASSID="..." CODEBASE="..." >
</body>
</html>