2014-09-02 59 views
0

我正在將信用卡標記化改造爲舊版應用程序。有一個5步註冊嚮導,可以在步驟4中獲取信用卡數據。我需要調用支付網關的客戶端API,並且希望在發生任何回退之前(即在下一個/上一個按鈕過帳之前)對卡數據進行標記背部。所以,我說我自己的點擊處理程序,以兩個按鈕(只顯示爲上一頁按鈕的代碼):ASP.Net嚮導控件 - 導航離開步驟之前的客戶端邏輯

$('#<% = wiz.FindControl("StepNavigationTemplateContainerID"). 
      FindControl("btnPrevious").ClientID%>') 
       .on('click.PayPageClick', clickEventPayPage); 

我clickEventPayPage()事件處理程序被調用是否正確,並就執行,即標記化的要求成功返回並將表格中的卡號替換爲令牌。

var clickEventPayPage = function() { 
    if ([tokenization has not occurred yet]) { 
     clickSource = this; 

     requestToken([...], submitWhenDone); 
     return true; 
    } 
    else 
     return true; 
    } 
} 

我試圖返回從希望ASP.NET事件處理程序被雷後打電話給我的事件處理程序真假的不同組合,但似乎並沒有發生。

的API,然後調用我的submitWhenDone功能

function submitWhenDone(response) { 
    // do various cleanup and then post back to server 
    __doPostBack(clickSource.id,'postPayPage'); 
} 

的問題是,__doPostBack()做了後回來,但是這並不能保證該向導的下一步或上一步。這樣做的正確方法是什麼?如果可以,我只想避免重寫嚮導。

回答

0

好的,this helped

function submitWhenDone(response) { 
    // do various cleanup and then post back to server 
    clickSource.click(); 
} 

和我的事件處理程序必須返回false以防止重複發佈。