我正在尝试将我的.net图像编辑器用户控件用作Web表单中的activeX对象。
在互联网搜索之后,我从VS2008创建了一个asp.net网站并添加了以下代码
<object classid="res/ImageEditor.dll#ImageEditor.Editor"
height="400" width="400" id="myControl1" name="myControl1" >
</object>
<INPUT id="Button1" type="button" value="Btn" name="Btn" onclick="return Button1_onclick()">
</script>
<script language=javascript>
function Button1_onclick() {
alert(document.getElementById("myControl1").WatermarkText);
}
</script>
我有两个问题
1-)当我第一次创建项目时,我在浏览器上看到用户控件,但在重建用户控件并更改网站上的dll文件后,该对象不再出现在浏览器上。相反,我看到像错误图像。
2-)我无法访问公共财产。
用户控件标记为“make com visible”,并在属性中检查com的注册。
答案 0 :(得分:0)
为了让.NET UserControl能够像ActiveX一样很好地运行,有很多东西可以跳过。
See my answer to this previous question,关于如何让它发挥作用。
为了更清楚地说明构建UserControl时出现问题的原因,您可能已经在项目属性中获得了自动构建编号。 “硬代码”属性中的版本号。只要你不改变界面你应该没事。
N.B。您必须实现公共IDispatch接口,才能使您的属性可访问。