.net中activex的替代技术:winform control(二)

 

在上一节,我们很容易的制作了一个winform control,在这一节我们把上节的winform control嵌入到Html业中------------创建一个带有object 标签的HTML文档,该标签用来标识winform control,配置控件的虚拟路径,设置代码访问权限 。

(二)把winform control嵌入到IE

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication2.WebForm1" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

<HTML>

    <HEAD>

        <title>WebForm1</title>

        <META content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">

        <META content="C#" name="CODE_LANGUAGE">

        <META content="JavaScript" name="vs_defaultClientScript">

        <META content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">

        <script language="javascript">

    function dd()

    {

   

    //hw.setAttribute("Uri","http://10.126.65.96/WebApplication2");设置控件的Uri属性

    alert(hw.getAttribute("Uri"));//得到控件的Uri属性

   

   

    }

        </script>

    </HEAD>

    <BODY>

        <FORM id="Form1" method="post" runat="server">

            <FONT face="宋体"></FONT>

        </FORM>

        <P>

            <OBJECT id="hw" style="WIDTH: 664px; HEIGHT: 488px" classid="http:MultiFileUpload.dll#MultiFileUpload.Demo"

                VIEWASTEXT>

            </OBJECT>

        </P>

        <P><INPUT id="ddd" type="button" onclick="dd()" value="点击查看属性"></P>

    </BODY>

</HTML>
在<object>标签的classid 属性中,我们指定第一步创建的那个组件的路径以及组件完整限定名。整个完整名称包括命名空间和整个类名。我们可以在上面的代码中清楚的看到组件名和限定名用#分割。这两部分参数组合在一起用来标识控件的唯一性。当然可以通过取名唯一idhw来编写客户端脚本,winform控件进行交互;要是用以前的activex控件,必须在服务器端和客户端注册安装此activex控件,现在这些工作都可以省去,不得不说这是.net的一大进步。

(三)配置虚拟路径   
有了HTML页面,现在来建立一个WebApplication2的虚拟目录,实际目录在C:\Inetpub\wwwroot\WebApplication2,该目录包含了MultiFileUpload.dllWebForm1.aspx文件。当设置虚拟目录的时候,需要注意的是设置执行权限为纯脚本。如果设置成脚本和可执行脚本的权限。那控件可能不会正常工作(我在IIS6下设置成脚本和可执行脚本,不正常)。你可以打开虚拟目录的属性来确认设置,设置窗口如下:
    

在这里因为要向服务器上传文件所以要把“写入”权限钩上。

(三)设置代码访问权限  

如果不访问本地磁盘和注册表的控件,可以正确显示;由于我们的控件要访问本地磁盘文件,所以要通过“管理工具-.net配置向导”放大权限:

1, 打开配置工具

 

2, 点击“调整.net安全性”

 

3, 选择“对此计算机进行更改”或“仅对当前用户进行更改”都可,点击“下一步”

 

4, 调整本地Intranet的权限为“完全信任”,单击“下一步”


5, 
单击“完成”,至此完成客户端安全性配置。

(四)访问winform控件

 

选择上传的文件

 


上传文件

 


通过javascript和控件交互

 


(五)总结

IE中使用窗体控件时,你需要意识到他的优点和局限。主要的优点包括: 
 1
.通过Web实现丰富的动态界面。 
 2
.NET技术的无缝结合(winform control IE)。 
 3
.优于Java applets的表现。  
限制包括: 
1
.客户端需要是Windows操作系统 
2
.需要IE6.0的支持 
3
.客户端需要安装.NET运行时环境 
4
.服务器端需要是Window2000IIS5.0或者更高版本 
由于,在windows xp及以后的版本中都预装.Net framework,所以客户端的.net运行环境无需担心;但是对于每个客户端要放大权限确实是个麻烦的问题,我现在没有很好的解决方法,如果谁有的话,请赐教。

 

posted on 2006-06-14 21:34  网络小贩  阅读(3155)  评论(1编辑  收藏  举报

导航