2012-07-25 80 views
0

我们正在使用VS2008。我们调用创建为EXE可执行文件的ActiveX shell脚本对象,该对象读取Pinpad进行身份验证并返回结果。该对象在ASPX页面的Javascript中调用。从Java脚本调用代码背后的代码

得到结果后,我们需要存储的信息,这是我们写的页面背后的C#代码。

我的问题是,我们应该怎么称呼后面的代码或ASPX Java脚本的WCF服务。

我的Java脚本代码如下:

function launchExecutable(strdata) { 

     try { 
      var shellActiveXObject = new ActiveXObject("WScript.Shell"); 

      shellActiveXObject.Run("c:\\Test\\EBCK.exe " + strdata, 1, true); 
     } 
     catch (e) { 
      alert(e.message); 
     } 

     try { 
      var abc = window.clipboardData.getData('Text'); 
      // from here we have to call the C# code which is written in CS file or 
      // call a WCF Web service 
     } 
     catch (e) { 
      alert(e.message); 
     } 

}

回答

0

你可以存储在隐藏字段的值,并投递的页面。当页面回传时,访问后面代码中的隐藏字段值。

<asp:Hidden Id="hid" value="" runat="server"> 

要在javascript中使用__doPostback回发页面。

0

您可以添加脚本管理到页面

,并创建与[webmethod]属性的静态方法,并呼吁从JQuery的或方法的JavaScript

1

要调用WCF服务的JavaScript利用的ScriptManager的。例如:

<asp:scriptmanager id="ScriptManager1" runat="server"> 
     <services> 
      <asp:servicereference path="http://localhost:61586/Service1.svc">   
</services> 

在上面的代码中,注意的ServiceReference设置为托管在另一个域WCF服务。

使用MakeCall函数:

function makeCall() { 
         var proxy = new JsonpAjaxService.Service1(); 
        proxy.set_enableJsonp(true); 
        proxy.GetCustomer(onSuccess, onFail, null); 
       } 

可以使用的onSuccess获得服务调用的结果并显示数据。

function onSuccess(result) { 
       alert(result.Name + " " +result.Address); 
      } 

如果servide失败,您可以使用onFail

希望这会有所帮助。