none
关于IE浏览器的回退按钮,如何使回退等于重新加载。。。。 RRS feed

  • 问题

  • 两个aspx页面,我如何在通过第一个页面转跳到第二个页面以后,直接点IE浏览器上的后退按钮,

    然后在回到第一个页面的时候是重新加载一次的,而不是直接回退。


    求教。。。谢谢

    • 已移动 Raymond TangModerator 2009年12月2日 10:49 (发件人:.NET Framework 一般性问题讨论区)
    2009年12月2日 9:45

答案

  • 方式挺多,但是都不是很完美,具体可以参考:
    http://www.cnblogs.com/piccolo/archive/2009/02/16/205348.html
    周雪峰
    • 已标记为答案 天驰 2009年12月4日 0:48
    2009年12月2日 12:29

全部回复

  • 你好!
         在当前页面的前一个页面把缓存禁用,在Load事件处理程序中添加:

    Response.Cache.SetNoStore();

    Response.Cache.SetNoServerCaching();
    周雪峰
    2009年12月2日 11:10
  • 是指我的第一个页面还是?
    2009年12月2日 11:15
  • 怎么感觉无效
    2009年12月2日 11:23
  • 我在第一个页面上放了2个Button,一个TextBox,
    再建立以个空白的页面Default2

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Response.Cache.SetNoStore();

                Response.Cache.SetNoServerCaching();

                this.TextBox1.Text = "1111111111";
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Redirect("Default2.aspx");
        }
    }


    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
       
            <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button1" />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button2" runat="server"  Text="Button2" />
            <asp:Panel ID="Panel1" runat="server" BackColor="#FFFF66" Height="142px"
                Visible="False">
            </asp:Panel>
       
        </div>
        </form>
    </body>
    </html>


    测试的结果是,如果先修改了TextBox的值,不点击Button2,直接点击Button1,跳转Default2,
    测试结果,点击IE的后退,一切正常。

    但是在修改了TextBox的值以后,再点击一次Button2,再点击Button1,跳转Default2,
    测试结果,点击IE的后退,TextBox的值是我修改以后的值而不是在Page_Load里赋予的值;

    2009年12月2日 11:28
  • 方式挺多,但是都不是很完美,具体可以参考:
    http://www.cnblogs.com/piccolo/archive/2009/02/16/205348.html
    周雪峰
    • 已标记为答案 天驰 2009年12月4日 0:48
    2009年12月2日 12:29