ActiveX控件在HTML中工作,但在ASPX中不是(完全)。有什么不同?

时间:2011-03-23 19:54:32

标签: asp.net html activex

我正在尝试在我们的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>

1 个答案:

答案 0 :(得分:0)

原来Eugene是正确的,第三方控件正在对URL进行字符串搜索,只查找.html或.htm。