我有一个webforms页面,可以非常广泛地使用AJAX。其上有许多链接可将用户带到不同的页面。如果用户使用浏览器的后退按钮回到页面,我希望保持该页面所处的状态。ASP.NET缓存页面。状态已保存,但需要刷新
我如何去解决这个问题,就是每次用户与页面交互时,都会将页面的状态存储在会话中。当他们返回到页面时,如果会话中存在状态,则会将其加载并显示给用户。
我有这种“种”的工作。页面保存正确,并且可以正确加载,但不幸的是需要页面刷新(F5)来加载它,否则它将回退到先前的状态。
任何想法为什么页面不能正确呈现没有刷新?我怎样才能解决这个问题?
protected void Page_Load(object sender, EventArgs e)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
if (!Page.IsPostBack)
{
DataBindDropDowns();
if (HasQueryString())
{
SetOptionsFromQueryString();
SavePageToSession();
Response.Redirect("Default.aspx");
}
else
{
RestoreFromSession();
DisplayOptions();
}
}
}
服务器端页面按下broswer后退按钮时是否触发?或者是浏览器渲染页面而无需重新从服务器请求页面? – BigBlondeViking 2009-07-13 16:33:07
优秀点! OnLoad事件不会触发... – Kirschstein 2009-07-13 16:39:52