【问题标题】:In ASP.NET, how can you "reset" and go back to the original state, pre postbacks?在 ASP.NET 中,如何“重置”并返回到原始状态,预先回发?
【发布时间】:2011-09-21 18:11:48
【问题描述】:

我对 ASP.NET 很陌生。我刚刚了解了回发是什么,我正在尝试处理它们,但是,我想知道是否有办法“重置”页面。就像在处理任何回发之前转到页面的原始状态一样。

这将清除所有文本框、复选框等。实际上清除所有缓存。让它看起来像用户第一次打开新页面。希望它是一个名为“重置”或“重新开始”的按钮。

【问题讨论】:

    标签: c# asp.net visual-studio-2010 postback


    【解决方案1】:

    完成数据处理后,我建议您在同一页面上发送Response.Redirect("~/Example.aspx")。这样您就不会将 ViewState 传递回页面。

    Example.aspx

    <asp:Button id="Reset" Text="Reset" runat="server" OnClick="Reset_Click" />
    

    Example.aspx.cs

    protected void Reset_Click(object sender, EventArgs e) { 
        Session["ViewState"] = null; 
        Response.Redirect("~/Example.aspx"); 
    }
    

    【讨论】:

    • 这对我不起作用。我只有 1 个具有隐藏占位符的 aspx 页面,当您选中复选框时,我会动态地创建一个带有文本框和其他控件的表格,并将它们转储到占位符中,然后可见 = true 占位符。当我只是进行重定向时,这些占位符仍然被填充且可见。
    • 是的,同一页。 protected void buttonRestart_Click(object sender, EventArgs e){ Session["ViewState"] = null; Response.Redirect("~/Default.aspx"); }
    • 当您单击按钮时该方法会触发吗?在重定向之前添加Response.Write("I Fired");,以确保您的方法实际上正在触发。
    • 我不知道 Response.Write 做了什么(我没有得到对话框或任何东西),但我在方法中设置了一个断点,它确实中断了。
    • Response.Write 会在页面顶部写出I Fired
    【解决方案2】:

    在按钮的 OnClick 处理程序中,您可以对同一页面执行 Response.Redirect

    【讨论】:

      【解决方案3】:

      您可以使用带有 type="reset" 的 HTML 输入元素:

      &lt;input type="reset" value="Reset" /&gt;

      【讨论】:

      • 如果字段在回发期间发生了变化,这将不起作用;因为根据 HTML 表单本身,表单字段的“原始”值是上次回发时提交的“新”值。
      【解决方案4】:
          <asp:Button ID="Reset" runat="server" Text="Reset" align="center" 
              onclick="Reset_Click"  />
      
          protected void Reset_Click(object sender, EventArgs e)
          {
      
              Session["ViewState"] = null;
              Response.Redirect("~/Form.aspx");
          }
      

      【讨论】:

      • 这只是重复两年前的答案所暗示的内容。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-17
      • 2021-02-08
      • 2012-09-02
      • 1970-01-01
      • 2023-01-30
      • 2021-09-30
      相关资源
      最近更新 更多