asp.net controls like textboxes etc re-populate themselves as part of their functionality, they maintain their own state, however html controls don't. If you want html controls to retain their values you have to code that in yourself, so give the boxes a "value" attribute that is the value of the submitted data. At it's most basic this could be something like
<input type="text" name="mytext" value="<%=HttpUtility.HtmlEncode(Request.Form["mytext"]) %>" />