首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> .NET Framework >> 正文

将自定义.NET控件嵌入IE浏览器

在刚才的按钮点击函数中增加点燃事件的代码:


        private void button1_Click(object sender, EventArgs e)

        {

            ……

            if (OnButtonClick != null)

                OnButtonClick(textBox1.Text);

        }

增加公共方法SetText

        public void SetText(string text)

        {

            textBox1.Text = text;

        }

此时点击运行,可以利用VS.NET 2005自带的控件容器运行我们的控件。通过属性编辑器可以验证ButtonCaption属性。点击Button可以发现在系统盘创建文件,并添加了文本内容。您也可以新创建一个Windows application项目,将这个控件加入后,测试其属性、事件和方法,这里就不介绍了。

上一篇我介绍了如何创建普通的.NET控件。为了能让.NET控件嵌入到IE中,这次我们来为控件添加COM特性。

打开项目属性,在Application页面中点击“Assembly Information…”按钮,打开Make assembly COM-Visible选项。

进入项目属性的Build页面,打开Register for COM interop选项。

保存配置后进行Build,此时的.NET控件已经具备普通OLE对象的特性。打开VS.NET自带的OLE/COM对象查看器(默认目录为C:\Program Files\Microsoft visual Studio8\Common7\Tools\Bin\OleView.Exe)。我们可以在.NET Category下看到我们创建的控件WindowsControlLibrary1.UserControl1。所有的信息已经被自动注册,包括控件的强路径。

其实,此时的.NET控件已经可以放入IE了,只是还不能算是合格的ActiveX控件,但仍然是合格的.NET控件。

我们编写一个htm文件来测试该控件。htm文件内容如下:

文本框:

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
</HEAD>
<body bgcolor="#D8EEFB">
<OBJECT id="UserControl1"
classid="WindowsControlLibrary1.dll#WindowsControlLibrary1.UserControl1"
VIEWASTEXT></OBJECT>
<br><br><br><br>
<input type='button' value=' 调用方法' onclick='UserControl1.SetText("Hello
World!");'>
<br><br><br><br>
<input type='button' value=' 设置属性' onclick='UserControl1.ButtonCaption =
"Set";'>
</body>
</HTML> 

将htm文件和WindowsControlLibrary1.dll部署在IIS的虚拟目录中,用浏览器浏览,就可以看到如下效果。

      虽然.NET控件可以被显示在IE中,但是.NET FrameWork能动态检查代码的安全性,因为没有安全授权,不安全的代码将无法执行。比如点击按钮,我们可以得到如下提示。

     有意思的是,只要该控件在装载时没有不安全代码,IE就不会有任何的提示,不同于IE对加载ActiveX时的安全警告。这样说明IE对.NET的代码安全性是交给FrameWork处理的。因此此类控件也有一种用处,就是不必数字签名,就可以加载显示在用户的IE浏览器中,并顺利执行安全的受控代码。当然前提是用户需要安装.NET FrameWork。

     此时我们还是没有得到一个真正的ActiveX控件,虽然它可以通过IIS发布在Web页面中,也可以执行安全的代码。但存在如下局限性:无法发布到其他Web服务器上、无法访问本地资源、js脚本无法响应控件的事件等。

      下一篇我们将讨论.NET自定义控件如何实现所有的COM对象接口,包括属性、方法、事件。并利用js脚本在Web页面中形成互动。

 
 
 

这次我们将讨论.NET自定义控件如何实现所有的COM对象接口,包括属性、方法、事件。并利用js脚本在Web页面中形成互动。

 

上一页  [1] [2] [3] 下一页

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航