TempData values are cleared after they are read.
if you want the value back in the controller after you have read it in the view, then you will need to include it in a hidden field and then read it out from the form values.
something like:
<input type="hidden" name="hdn" value="@hdn" />
Then in your controller, you can do:
var hdn = Request.Form["hdn"]
HTH