我有以下代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//do something
}
else
{
// do something else
}
}
protected void Button1_Click(object sender, EventArgs e)
{
//do something
}
}
关键是如果我按下F5 /刷新按钮或点击按钮就会发生回发。如果单击F5 /刷新按钮,我将如何阻止代码执行任何操作?
我已经检查了Detect F5 being pressed and Refresh但我的解决方案会有所不同,因为我需要在C#代码中执行此操作。
由于
答案 0 :(得分:0)
您正在尝试在客户端捕获某些内容 - 因此必须是客户端脚本(如链接中所述)。
这不是ASP.Net术语中的回发 - 您的页面只是再次被请求(GET)。你无法阻止这一点 - 就像去你网站上的其他页面并点击一些导航一样。
如果您要阻止运行某些类型的服务器端代码(超过x次),那么您可以考虑会话或cookie,并在运行任何进程之前将其读取。一个简单的样本:
另一种选择,如果可行则使用ASP.Net缓存。