【问题标题】:How to mimick the back button in asp.net如何模仿asp.net中的后退按钮
【发布时间】:2013-01-17 05:06:01
【问题描述】:

我正在开发一个 asp.net 网络表单项目。它有一个编辑表单,在几个文本和组合框中显示从数据库中检索到的成员数据。用户可以编辑任何这些项目。编辑后,当他们单击“验证”按钮时,将通过 Server.Transfer 方法将他们带到 verifyAndSave.aspx 页面。这个新页面有两个按钮:保存和取消。当他们单击“取消”按钮时,它应该将他们带回到之前的页面,所有已编辑的数据都完好无损。对于取消按钮的点击事件,在后面的代码中,我再次使用了Server.transfer。它转到较早的页面,但问题是它仅显示数据库中的数据。用户所做的任何编辑都消失了。但是,如果我使用后退按钮,我会看到用户所做的所有编辑。请告诉我如何正确实现取消按钮。

谢谢

【问题讨论】:

  • 使用javascript window.history.back()
  • 是否有理由不进行确认对话框(此处考虑 jquery 对话框)而不是转到另一个页面。这有几个优点: 1> 服务器不必提供任何额外的页面。 2> 看起来更好看 3> 如果你取消它可以很自然地回到你想要的状态。

标签: c# asp.net


【解决方案1】:

ASP.NET 按钮代码如下所示:

<asp:button id="btnCancel" runat="server" text="Cancel" OnClientClick="JavaScript:window.history.back(1); return false;" />

如果你想从后面的代码中做到这一点,你可以尝试以下方法:

ClientScript.RegisterStartupScript(Me.GetType(), "goBack", "history.go(-1);", True)

【讨论】:

  • 您好,尝试上面的代码 sn-p 并在 sn-p (Me.GetType(),...有人可以解释它是什么/它来自哪里,所以我想出它应该参考什么。非常感谢。
  • Me.GetType() 是 VB.NET 尝试将 this.GetType() 用于 C#。
【解决方案2】:
<a href="javascript: history.go(-1);">Back</a>

【讨论】:

    【解决方案3】:

    我会在初始页面上有确认功能/标记。然后使用 jQuery 隐藏/显示两个面板,具体取决于是否按下了下一步或取消。这样就没有回发,也不会丢失任何数据。

    $('#NextBtn').Click(function(){
         $('#PanelInitial').hide()
         $('#PanelConfirm').show()
    });
    $('#CanelBtn').Click(function(){
         $('#PanelInitial').show()
         $('#PanelConfirm').hide()
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      • 1970-01-01
      • 2016-12-09
      • 2011-01-22
      相关资源
      最近更新 更多