会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
指引
世界很大,每个人总有相同的地方!你喜欢的电影我也喜欢,我喜欢的作品你也喜欢! 就是这样,其实生活并不孤单。
博客园
首页
新随笔
联系
订阅
管理
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> 运行后,点击按钮即可看到效果.
posted @
2005-04-13 21:58
QDuck
阅读(
914
) 评论(
0
)
收藏
举报
刷新页面
返回顶部
公告