GridView在页面刷新上添加重复行

use*_*375 0 asp.net

GridView在页面刷新上添加重复行 -

我有两种方法1)bindgridview()2)insertdata()

每当我通过webform插入数据并在gridview中显示数据之后,当我重新压缩页面或再次按f5时,插入重复记录可以有人告诉我这是什么解决方案

如果在页面加载事件中的if(!page.ispostback)或者插入数据,那么任何人都可以告诉我,

Thanx提前

Nik*_*kis 5

我过去使用的解决方案是添加时间戳以检查回发是否是刷新.我做的是补充

Page_Load()
{
    ...
    Session["CurrentTime"] = Server.UrlEncode(DateTime.Now.ToString());
}
Run Code Online (Sandbox Code Playgroud)

还有

protected override void OnPreRender(EventArgs e)
{
   ViewState["CurrentTime"] = Session["CurrentTime"];
}
Run Code Online (Sandbox Code Playgroud)

然后,当调用InsertData()时,我会添加一个这样的检查

InsertData()
{
     if(ViewState["CurrentTime"].ToString() != Session["CurrentTime"].ToString())
         return;
}
Run Code Online (Sandbox Code Playgroud)

编辑:我查找了代码,这是使它工作的正确方法.希望我帮了.

  • @ thinker07如果您将答案标记为已接受,那将是很好的,以便其他用户知道它的工作原理(我也得到了我的快乐点;-)) (2认同)