我正在尝试在我们的Intranet ASP.NET站点上使用第三方ActiveX控件,而且我遇到了一个我无法弄清楚的问题。
预期行为:控件希望在URL中看到特定变量(“msg”)。如果你提供它,它的工作原理。如果您不提供,则会抱怨缺少该值。
如果我将控件放在HTML页面中,它可以正常工作。但是,如果我然后将页面的类型更改为aspx,则控件就好像变量不存在一样。控制仍然加载和运行;我没有得到任何许可或安全信息。但它抱怨URL上没有提供“msg”。
换句话说,如果我尝试这些URL,第一个工作正常;第二个给我“你没有提供msg参数”投诉:
(工作正常)
http://mysite.mydomain.com/controltest/test.html?msg=123
(抱怨)
http://mysite.mydomain.com/controltest/test.aspx?msg=123
我知道aspx版本在被发送到客户端之前正由服务器处理,但是没有任何服务器端命令或标签(它是同一个文件,只是被复制和重命名)。据我所知,发送到客户端的结果页面完全相同。
是否有关于aspx vs html的内容会导致控件无法获取该变量?我可以通过自己添加的javascript看到它。
这是页面的内容。不是很多。如果我得到这个工作,我打算添加一些aspx标签和代码,但还没有任何意义。
<html>
<head>
<title>
ActiveX Control Test
</title>
</head>
<body>
<OBJECT ID="control1" CLASSID="..." CODEBASE="..." >
</body>
</html>
答案 0 :(得分:0)
原来Eugene是正确的,第三方控件正在对URL进行字符串搜索,只查找.html或.htm。