Опитвам се да използвам ActiveX контрола на трета страна в нашия интранет ASP.NET сайт и се натъкнах на проблем, който не мога да разбера.
Очаквано поведение: Контролата очаква да види конкретна променлива в URL адреса („msg“). Ако го предоставите, работи. Ако не го предоставите, той се оплаква, че стойността липсва.
Ако поставя контролата в HTML страница, тя работи добре. Но ако след това променя типа на страницата на aspx, контролата действа така, сякаш променливата не е там. Контролът все още се зарежда и работи; Не получавам никакви разрешения или съобщения за безопасност. Но се оплаква, че „msg“ не е предоставено на URL адреса.
С други думи, ако опитам тези URL адреси, първият работи добре; второто ми дава оплакването „не сте предоставили параметъра на съобщението“:
(работи добре)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>