9

如何在ASP.NET页面中嵌入WINFORM控件一

by 刘武 21. 九月 2009 20:45

在.NET之前,我们如果想访问客户端的资源,最常见的方式就是在网页里面嵌入ACTIVEX控件。现在有了.NET,我们可以将WINFORM控件嵌入在网页里面,从而直接控制客户端,不过前提是客户端必须安装了.NET库。这有点像JAVA 的APPLET(笔者对JAVA不是很熟,如有问题欢迎指正)。由于需要.NET的运行库,所以使用起来有很多限制,不过如果是企业内部系统,.NET库可以做为客户端部署的一部分,这样可以利用.NET编程的优势,大大简化开发过程。

本文就从最简单的例子入手,讲解具体的开发过程。

一 新建windows控件库项目,姑且取名为Liuw.Net.WindowsControlLibrary

二 添加windows控件HelloWorld

三 添加按钮及事件

        这里我们只添加一个按钮,点击按钮就弹出提示框 "Welcome To Liuwu.net "

      以下是部分代码

namespace Liuw.Net.WindowsControlLibrary
{
    public partial class HelloWorld : UserControl
    {
        public HelloWorld()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Welcome to Liuwu.Net");
        }
    }
}

四 编译该项目,得到Dll文件 Liuw.Net.WindowsControlLibrary.dll

五 新建网站,将刚才的Dll文件拷贝到根目录下,并添加页面 WinformCtlTest.aspx

六 在aspx页面添加以下代码

<object id="ctl" classid="Liuw.Net.WindowsControlLibrary.dll#

Liuw.Net.WindowsControlLibrary.HelloWorld"></object>

这里有点像ActiveX控件的调用,classid的命名规则是 "dll文件名#命名空间名.类名",中间并没有换行,我这里只是为了方便显示。

七 运行该页面,就会看到刚才编写的控件了,点击按钮,则弹出提示框 "Welcome To Liuwu.net "

怎么样,是不是觉得太简单了,别急,下一篇会举个稍微复杂的例子。

后篇:

如何在ASP.NET页面中嵌入WINFORM控件二

如何在ASP.NET页面中嵌入WINFORM控件三  

Tags: ,

技术生涯

评论

王
2009-12-22 10:13:54 回复

我安着上面的做,可以显示.
自己创建一个为什么不显示了,

liuwu
liuwu
2009-12-23 10:32:45 回复

应该是你什么地方不小心写错了

nare
nare
2010-1-4 15:31:29 回复

问个问题:“前提是客户端必须安装了.NET库”,是指客户端机子上必须安装.netFramework? 我做了第一示例,并在一台没有安装的有.netFramework的机子上访问这个示例,是可以正常访问的,所以比较疑惑这句话,“必须安装.net库”到底是什么含义?不安装会出现什么情况?

liuwu
liuwu
2010-1-5 15:54:19 回复

沒有安裝.net Framework 也能正常訪問?
應該不大可能,會不會你機子默認已經有了.net framework

nare
nare
2010-1-6 10:42:23 回复

不好意思,我犯了个错,我试的那台机子上也安装了.netFramework,只是我不知道,我找了一台没有.netFramework环境的机子测试了下,是的确不能正常访问的。

nare
nare
2010-1-6 11:38:41 回复

还有个问题,问下“调整.NET程序集的权限”这个是指服务器段设置?

liuwu
liuwu
2010-1-6 20:29:44 回复

是客户端设置

深圳--残云
深圳--残云
2010-7-12 13:53:33 回复

Mr Liu,我想请教您个问题,就是我按照您写的步骤做了,一开始的时候是成功了,但后来就怎么也做不出来了,不知道是什么问题,您可不可以帮我调一下。如果可以的话您可以加我Q,或发邮件给我,谢谢。

liuwu
liuwu
2010-7-12 14:05:54 回复

你最好自己再仔細檢查一下,實在不行可以發到我郵箱public@liuwu.net,不過我平時時間比較少,週末會好點。

添加评论


(将显示你的Gravatar图标)

biuquote
  • 评论
  • 在线预览
Loading



Powered by BlogEngine.NET 1.6.1.9  登录
Original Design by Laptop Geek, Adapted by onesoft