When postback, it will cause a 301 redirect to get the rewrite page, so it will lose the original post.
http://blogs.iis.net/ruslany/archive/2008/10/23/asp-net-postbacks-and-url-rewriting.aspx
The key solution:
protected void Page_Load(object sender, EventArgs e)
{
if ( !String .IsNullOrEmpty(Request.ServerVariables["HTTP_X_ORIGINAL_URL" ]) )
{
form1.Action = Request.ServerVariables["HTTP_X_ORIGINAL_URL" ];
}
}