zoukankan      html  css  js  c++  java
  • ASP与ActiveX控件交互实战(二)

    龙卷风

    关键字:ASP,ActiveX控件,数字签名,安全

    我们来看看如何从服务端获取数据,传递到ActiveX控件中。

    1) 初始化时使用参数绑定

    2) 运行时得到数据

    打开vb6,新建ActiveX控件工程。

    工程名:fOcx,用户控件名:UC2

    为了方便,我们使用ActiveX控件接口向导…,菜单->外接程序->外接程序管理器->VB 6 ActiveX控件接口向导。确定即可。

    打开ActiveX控件接口向导,下一步,对于可用名称和选定名称我们默认下一步,新建自定义成员,GetInfo类型:属性,下一步,共有方法中选择我们刚才添加的GetInfo,映射到控件选择TxtInfo,成员选择Text,下一步直到完成。代码窗口中会生成一些我们不需要的,删除,

    '注意!不要删除或修改下列被注释的行!

    'MappingInfo=txtinfo,txtinfo,-1,Text

    Public Property Get GetInfo() As String

        GetInfo = txtinfo.Text

    End Property

    Public Property Let GetInfo(ByVal New_GetInfo As String)

        txtinfo.Text() = New_GetInfo

        PropertyChanged "GetInfo"

    End Property

    Private Sub Command1_Click()

    Label2.Caption = GetInfo()

    End Sub

    '从存贮器中加载属性值

    Private Sub UserControl_ReadProperties(PropBag As PropertyBag)

        txtinfo.Text = PropBag.ReadProperty("GetInfo", "Text1")

    End Sub

    '将属性值写到存储器

    Private Sub UserControl_WriteProperties(PropBag As PropertyBag)

        Call PropBag.WriteProperty("GetInfo", txtinfo.Text, "Text1")

    End Sub

    编译成OCX控件.运行生成的测试页.Text中默认的是Text1

    如何将服务器端的数据传递给OCX?

    使用Microsoft ActiveX Control Pad这个工具,可以很容易找到.

    直接用这个工具把测试页打开.

    菜单->Edit->Edit Activex Control,呵呵,打开了一个可视化的界面.

    看到了吧,有一个属性框,我们可以进行设置,设置完成以后的代码如下:

    <HTML>

    <HEAD>

    <TITLE>New Page</TITLE>

    </HEAD>

    <BODY>

    <OBJECT ID="GetClient" WIDTH=507 HEIGHT=440

     CLASSID="CLSID:890D1028-298B-45CF-9A64-6ED5A5BACBC9"

     CODEBASE="http://localhost/xml/fOcx.ocx">

        <PARAM NAME="_ExtentX" VALUE="13414">

        <PARAM NAME="_ExtentY" VALUE="11642">

        <PARAM NAME="GetInfo" VALUE="这是ocx得到的客户端读卡器的信息">

    </OBJECT>

    </BODY>

    </HTML>

    增加了ID,ID就是我们用来访问的标志.还有我们的属性GetInfo,我们也设定初始值了

    好了,运行.

    Text中就出现了我们设定的值这是ocx得到的客户端读卡器的信息

    我们把上边的页面改成asp,看代码:

    <HTML>

    <HEAD>

    <TITLE>龙卷风测试页</TITLE>

    </HEAD>

    <BODY>

    <%

    dim sValue

    sValue="这是ocx得到的客户端读卡器的信息"

    %>

    <OBJECT ID="GetClient" WIDTH=507 HEIGHT=440

     CLASSID="CLSID:56DFCA88-F5B8-4879-853B-97FE504423FD"

     CODEBASE="http://localhost/xml/fOcx.ocx">

        <PARAM NAME="_ExtentX" VALUE="13414">

        <PARAM NAME="_ExtentY" VALUE="11642">

        <PARAM NAME="GetInfo" VALUE="<%=sValue%>">

    </OBJECT>

    </BODY>

    </HTML>

    OK,运行即可

    我们看看第二种情况

    运行时得到数据

    <HTML>

    <HEAD>

    <TITLE>龙卷风测试页</TITLE>

    <%

    dim sValue

    sValue="这是ocx得到的客户端读卡器的信息"

    %>

    <SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>

    <!--

    function button1_onclick()

    {

    GetClient.GetInfo='<%=sValue%>';

    }

    //-->

    </SCRIPT>

    </HEAD>

    <BODY>

    <OBJECT ID="GetClient" WIDTH=507 HEIGHT=440

     CLASSID="CLSID:56DFCA88-F5B8-4879-853B-97FE504423FD"

     CODEBASE="http://localhost/xml/fOcx.ocx">

                <PARAM NAME="_ExtentX" VALUE="13414">

                <PARAM NAME="_ExtentY" VALUE="11642">

            </OBJECT>

    <INPUT id=button1 type=button value=Button name=button1 LANGUAGE=javascript onclick="return button1_onclick()">

    </BODY>

    </HTML>

    运行后,点击按钮即可看到效果.

    未完待续

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    bzoj3505 数三角形 组合计数
    cogs2057 殉国 扩展欧几里得
    cogs333 荒岛野人 扩展欧几里得
    bzoj1123 BLO tarjan求点双连通分量
    poj3352 road construction tarjan求双连通分量
    cogs1804 联合权值 dp
    cogs2478 简单的最近公共祖先 树形dp
    cogs1493 递推关系 矩阵
    cogs2557 天天爱跑步 LCA
    hdu4738 Caocao's Bridge Tarjan求割边
  • 原文地址:https://www.cnblogs.com/Athrun/p/1127634.html
Copyright © 2011-2022 走看看