asp.net formview (using object datasource) postbac

2019-08-27 20:23发布

问题:

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.