title: TempData : Argument with the same key has already been added
body: <p>I ran into this issue today.
  I'm passing arguments between actions in an asp.net mvc4 app using tempdata like this. </p>
  
  <pre><code>       TempData.Add("PayerAmount", amount);
         TempData.Add("TotalAmount", totalAmount);
         TempData.Add("PayOption", paymethod);
  </code></pre>
  
  <p>and i ran into this weird error while trying to "retry" a form post:
  <code>An item with the same key has already been added</code></p>
  
  <p>Why i'm getting this error? how can i workaround it and why cant the framework just silently overwrite the old key/value with the new one?</p>
  
  <p>EDIT: I noticed that as long as the user session isnt closed this keeps happening...<em>weird</em></p>