2012-07-25 93 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

希望這會有所幫助。