我正在开发Web应用程序。我有一个向用户显示数据的网格。当用户单击网格的任何一行时,它会将用户重定向到另一个页面,因为我们在a列上有一个asp链接控件。 问题
我的代码就像
if (!Page.IsPostBack)
{
//CODE
}
当用户单击BROWSER BACK按钮时,它不会执行CODE。只需显示来自CACHE的数据。 如何在浏览器后退按钮上执行CODE?
答案 0 :(得分:2)
这是ASP.Net的全球性问题。大多数开发人员都喜欢Windows开发人员。它以回发结束,主要用于任何操作,包括导航操作。
解决这些问题:
这种“邪恶”行为的根本原因是使用HTTP Post请求发布回发。然后,浏览器需要重新发布页面以重建它。
使用上面提到的技术,您将发出GET请求。这种请求不需要重新提交任何内容。
答案 1 :(得分:1)
尝试为您不想缓存的页面禁用浏览器缓存。
protected void Page_Load(object sender, EventArgs e)
{
Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
Response.Cache.SetValidUntilExpires(false);
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
if (!Page.IsPostBack)
{
//CODE
}
}