title: Refresh after postback causes the same data to be sent again
body: <p>I have a form to edit employee information.  If the user wishes to enter a new e-mail address for the selected employee, there is a textbox and a button that says "Add Email Address."  Very simple, you enter the e-mail address, click Add Email Address.  It postsback and that button's event handler executes the INSERT to the database.</p>
  
  <hr>
  
  <p><strong>The problem:</strong>
  If you press F5 to refresh the page after that postback, it causes the same postback to occur, even if the textbox is blank.  In other words, for every time you hit F5, the actions in the event handler for that Add Email Address button occur again.  If I hit F5 ten times, the same e-mail address shows up in the database ten times.</p>
  
  <hr>
  
  <p>One suggestion I found said, "just re-direct to the same page after you apply your changes."  The reason this is not ideal in our case is that it's a rather lengthy form of employee data --- if the user makes a bunch of changes to the overall form (such as FirstName, LastName, etc.), then makes an e-mail addition before applying the changes elsewhere, those changes elsewhere would be lost if we re-directed to the same page.</p>
  
  <p>The very long winded solution I can think of is, capture all of the data in ViewState, carry it across the re-direct to the same page, then use a query string in the URL to determine if we want to fill in the data from ViewState.  Before I embark on that path, I'm hoping that instead of that, there is some method I just don't know that says like, PostbackButDontRetainPostbackData() (wishful thinking, I know).</p>