【问题标题】:ASP.NET Wizard Back Button won't workASP.NET 向导后退按钮不起作用
【发布时间】:2010-11-15 06:04:35
【问题描述】:

我有一个 ASP.NET 向导来运行我的购物车结帐流程。我刚刚在我的第二步中添加了一个 Paypal Express 结帐链接。 Paypal 流程将用户带离页面,然后在完成后将他们重定向回我的向导。当用户从 Paypal 返回以将向导设置为第 3 步时,我正在使用 Request.QueryString 解析 HTTP 参数。这加载得很好,但是当我单击(向导的)返回按钮时,它会回发但是停留在第 3 步。有人能想到原因吗?它引用的链接仍然具有 HTTP 参数,但我在基于参数以编程方式设置向导步骤之前检查回发。有人有这方面的经验吗?

【问题讨论】:

    标签: asp.net webforms paypal wizard


    【解决方案1】:

    好吧,我不确定它为什么这样做,但是使用以下代码覆盖向导上的黑盒 PreviousButtonClick 事件修复了它。在我看来,这应该是按钮实现的行为,但事实并非如此。很奇怪。

    
        Protected Sub wizSubmitOrder_PreviousButtonClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.WizardNavigationEventArgs) Handles wizSubmitOrder.PreviousButtonClick
        Dim previousStepIndex As Integer = wizSubmitOrder.ActiveStepIndex - 1
        wizSubmitOrder.MoveTo(wizSubmitOrder.WizardSteps(previousStepIndex))
      End Sub
    
    

    【讨论】:

    • 谢谢,这段代码帮助解决了我在使用向导时遇到的问题。
    • 在修改基于 PayPal 取消/返回查询字符串的 ActiveStepIndex 时,我遇到了与 ASP.NET 向导完全相同的问题。更糟糕的是,我发现 ActiveStep 上的其他回发控件(即单选按钮)无法正常运行如果在这种情况下它们的属性是从代码隐藏中修改的。我在其他论坛上看到帖子表明向导无法返回,因为此时没有“返回”状态。不过,考虑到其他控件的问题,这似乎更像是一个错误。
    • 也为我解决了一个问题。绝对是向导中的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    • 2020-05-07
    • 2014-12-27
    • 2014-05-06
    相关资源
    最近更新 更多