Use for example ASP.NET Sessions to store User_ID, and IP address. If newly logged in User_ID and IP match with previous, then you are good to go.
Database, filesystem, application cache ... you name it.
* create GUID when user starts editing the form, and include it in ViewState
* When session ends on POST, store the POST data with GUID
* Redirect to login page, with GUID in parametes
* After successful login, redirect back to form, with GUID in param
* When form finds GUID in param, it tries to re-fill the form
puh, this was looooong, wasn't it ;)
BTW: I am not trying to do the work for you, instead, give some tips and ideas.
PS:Sorry for my bad english :(