I have a formview which using objectdatasource and default mode = insert... but after I inserted item if you refresh page inserting again and again....I tried Is.postback control but couldnt prevent this.Is there anyway to do it ?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
That is a common fundamental problem, which is a little harder to solve. There are a couple of ways to deal with it. You could use a means to detecting a page refresh, like this:
- http://www.codeproject.com/Articles/68371/Detecting-Refresh-or-Postback-in-ASP-NET
- http://www.codeproject.com/Articles/10240/Detecting-Page-Refresh
- http://www.jaredlog.com/?p=13
This is a server-side approach to responding to events; you could then cancel the insert programmatically. Another option is to check to see if the same data previously posted, and then don't do a double insert. Alternatively, we use the RadAjaxPanel from Telerik (though the UpdatePanel should work the same too) to handle this, as the POST operations are done through AJAX, so when you refresh it refreshes the original GET request.