GridView的上頁refresh--的GridView添加頁上的重複行刷新
我有兩種方法1)bindgridview()2)insertdata()
每當我通過插入網絡表單的數據添加重複的行並在gridview中顯示數據後,當我refresshing頁面或再次按F5重複記錄插入任何人都可以告訴我什麼是這種解決方案
其中應該是如果(!page.ispostback)在頁面加載事件或插入數據任何人都可以告訴我,,
Thanx提前
GridView的上頁refresh--的GridView添加頁上的重複行刷新
我有兩種方法1)bindgridview()2)insertdata()
每當我通過插入網絡表單的數據添加重複的行並在gridview中顯示數據後,當我refresshing頁面或再次按F5重複記錄插入任何人都可以告訴我什麼是這種解決方案
其中應該是如果(!page.ispostback)在頁面加載事件或插入數據任何人都可以告訴我,,
Thanx提前
我過去使用的解決方案是添加時間戳以檢查Postback是否爲刷新。我所做的就是添加
Page_Load()
{
...
Session["CurrentTime"] = Server.UrlEncode(DateTime.Now.ToString());
}
,並在
protected override void OnPreRender(EventArgs e)
{
ViewState["CurrentTime"] = Session["CurrentTime"];
}
然後,InsertData()被調用時,我想補充這樣
InsertData()
{
if(ViewState["CurrentTime"].ToString() != Session["CurrentTime"].ToString())
return;
}
編輯支票:我擡頭代碼,這是使它工作的正確方法。希望我幫了忙。
Thanx dude我知道了 – user242375 2010-02-18 11:42:44
@ thinker07如果您將答案標記爲已接受,以便其他用戶知道它的工作原理(並且我也會收到我的開心點;-)) – 2010-02-18 12:22:21
@ user242375您應該接受此答案它不會顯示爲未答覆。 – 2014-06-23 14:33:49
如果您在Page_Load中調用函數insertdata()而沒有回發條件,它總是運行該函數。
最好是在button click事件上調用insertdata()函數。
如果按鈕是gridview的子項,那麼可以使用gridview的RowCommand事件來完成此操作。
我有另一種刷新方式。在你Page_Load()
方法,做到以下幾點:
GridViewname.Columns.Clear();
這個工作對我來說,也是行之有效的AJAX啓用頁面。
Duplicate:http://stackoverflow.com/questions/743580/page-refresh-causes-duplicate-post-in-asp-net-applications – 2010-02-17 17:52:22
我查了一下代碼,現在它應該適合你。 – 2010-02-17 18:55:31