2013-03-16 82 views
2

我開發了一個支持重定向邏輯的支付插件。我用作指南的貝寶標準和MyGateVirtual 我的問題是,在用戶確認訂單後,他被重定向到paycenter網站,在那裏他輸入他的信用卡數據和paycenter網站返回到我們的網站在指定的網址成功和失敗 在我的付款控制人的成功操作中,如果由於某種原因付款未被接受,我希望將用戶重定向到orderdetails,以便他可以重新提交付款。 我用下面的代碼片段的視圖,而且是應該將用戶重定向一個按鈕ORDERDETAILSnopcommerce支付插件

@{ var storeLocation = Nop.Core.Infrastructure.EngineContext.Current.Resolve<Nop.Core.IWebHelper>().GetStoreLocation() + Url.RouteUrl("OrderDetails", new {orderId = Model.OrderId});} 


<input type="button" name="orderdetails" value="@T("Account.CustomerOrders.OrderDetails")" id="orderdetails" class="orderdetailsbutton" onclick="setLocation('@(storeLocation)'" /> 

但是,如果用戶點擊該按鈕沒有任何反應。 onclick事件處理程序不會重定向到orderdetails。 請這個問題上需要幫助

喬治

回答

3

setLocation()是public.common.js定義的JS函數。我會採取以下步驟來診斷問題:

  1. 檢查public.common.js是否正確包含在您的頁面中。
  2. 檢查'storeLocation'變量是否生成正確的URL。您實際上不需要前面的部分,只需要以'Url.RouteUrl'開頭的部分就可以了,因爲您已經在自己的網站中了。
  3. 在瀏覽器的Developer Tool中設置一個斷點,並檢查setLocation是否被正確調用,如果不是,則會發生什麼錯誤。

仔細看看代碼,結果發現JS代碼格式不正確(少一個括號)。

這是你的代碼:

setLocation('@(storeLocation)'