nopcommerce付款插件

时间:2013-03-16 07:07:19

标签: nopcommerce

我开发了一个支持重定向逻辑的支付插件。我用作Paypal标准和MyGateVirtual的指南 我的问题是,在用户确认订单后,他被重定向到paycenter网站,在那里他输入了他的信用卡数据,并且paycenter网站返回我们网站的指定网址,以确保成功和失败 在我的支付控制器的成功操作中,如果由于某种原因未接受付款,我想将用户重定向到orderdetails,以便他可以重新提交付款。 我使用带有以下代码片段的视图作为一个按钮,该按钮应该将用户重定向到orderdetails

@{ 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。 请帮助解决这个问题

乔治

1 个答案:

答案 0 :(得分:4)

setLocation()是public.common.js中定义的JS函数。我会采取以下步骤来诊断问题:

  1. 检查您的网页中是否正确包含了public.common.js。
  2. 检查'storeLocation'变量是否生成了正确的URL。你实际上不需要前面部分,只有以'Url.RouteUrl'开头的部分才会这样做,因为你已经在你自己的网站上了。
  3. 在浏览器的Developer Tool中设置断点,并检查是否正确调用了setLocation,如果没有,则检查错误是什么。
  4. 仔细看看你的代码,结果证明JS代码格式不正确(少了一个括号)。

    这是你的代码:

    setLocation('@(storeLocation)'