欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

vbs js有关问题较弱,但放在c#asp.net等论坛没人回答!4贴并一帖400分

更新时间: 2014-01-05 01:52:29 责任编辑: Author_N1

 

VBS jS问题较弱,但放在C#,Asp.net等论坛没人回答!4贴并一帖400分
我有一个Activex组件,该组件将部署于客户端,用于与客户端安装的设备进行通讯。 

我目前做法是用VBS调用该Activex组件,基本上可以实现功能,但我有些疑问想在这里和各位咨询下 
Activex组件有三个函数,三个函数都具有多个in参数和多个out参数 

1、没有采用js调用Activex的原因? 
js是不是只能针对一个out参数,请高人指点一二! 

2、前后后台代码互相调用的问题。 
操作流如下,C#后台代码处理数据,调用Activex函数将数据写入设备中,Activex通过out参数告知成功失败。 
成功后,C#后台将该条处理数据记录存入数据库。 
目前难点在于 VBS无法准确的将out参数返回给后台。 
我本来通过组件隐藏域将结果返回,VBS将结果赋值给组件隐藏域,然后后台代码通过该组件获得结果。但发现,必须在后台提交后才可以获得该隐藏域的值,在一个过程中,该组件的值并没有发生变化。 

前台代码 
VBScript code

<script language="VBscript"> 
Function sdWriteCardp(UserID,BuyPower,sData,PtcType,FlagInfo) 
dim ReCode 
MsgBox Cstr(UserID) 
MsgBox BuyPower 
MsgBox sData 
MsgBox PtcType 
MsgBox FlagInfo 

SDUSB.WriteCard  FlagInfo, BuyPower, UserID, PtcType ,sData , ReCode 
document.getElementById("iReCode").value=ReCode;    

End Function 
</script> 


隐藏域定义 
HTML code
<input type="hidden" id="iReCode" name="iReCode" value=""> 



后台代码 

C# code
private void Button6_Click(object sender, System.EventArgs e) 
{ 
int FlagInfo =0; 
double BuyPower=29.68; 
string UserID = "0000000101"; 
string sData ="123456"; 
int PtcType =1; 
string ss=" <script language='VBscript'> Call sdWriteCardp(\""+UserID+"\","+BuyPower.ToString()+ 
",\""+sData+"\","+PtcType.ToString()+","+FlagInfo.ToString()+") <" + "/script>"; 
//调用前台代码 

Page.RegisterStartupScript("ccsdWriteCard",ss); 

if(this.iReCode.value="0")//此处无法正确拿到本次调用VBS iReCode

{ 
//成功 
} 

} 




麻烦各位就2个问题帮忙解答一下。


http://topic.csdn.net/u/20090715/17/b18d2690-7c9b-4d6b-b629-e63b7d33261d.html?51224
http://topic.csdn.net/u/20090716/10/67f5b34d-b7c5-45e8-92db-ce9bcad671b5.html
http://topic.csdn.net/u/20090716/14/b8d3926f-eb99-4350-9097-ef6a2974c401.html?64665

--参考方法--
为什么不把所有脚本写在aspx页,脚本获取到out值后用xmlhttp提交到另外一个aspx页面来处理提交操作,这样能避免刷新又能提交
--参考方法--
帮顶!
--参考方法--
1、这要看怎么理解了:在一个函数里如果只针对一个变量返回那自然是只返回一个OUT参数,但也有其他的办法啊,比如
1)你可以把要返回的OUT参数放到一个数组里返回
2)定义多个对应于你的多个OUT参数的全局变量,在函数里赋值后取得(当然,函数内部不能再次定义同名变量)
无论JS、VBS都可以这样处理

2、同1楼,如果可能,为什么不在客户端取得OUT参数后立即AJAX送往后台处理呢?
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:52:29
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/2342/
本文WWW.DOC100.NET DOC100.NET版权所有。