现象:当页面进行过数据提交(PostBack)后,如果通过点击【F5】或者浏览器的【刷新】按钮,
此时页面会模拟浏览器的上次的提交事件,如果做的是数据插入操作,将有可能导致数据的多次插入。
原因:浏览器会模拟上次提交的数据在次提交,并在此触发上次提交的时间。
测试页面
<asp:Label ID=Label1 runat=server ></asp:Label>
<asp:Button ID="Button1" runat="server" Text="Button" />
public partial class _Default :BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
if (this.IsRefreshed)
{
Label1.Text = "刷新";
}
else
{
Label1.Text = "正常postback";
}
}
}