IIS 7 Url Rewrite Module Postback Problem

07.05.2009

URL Rewrite tekniğini üçüncü parti yöntem ve yazılım kullanmadan sorunsuz bir şekilde kullanabilme imkanı tanıyan IIS 7 Url Module'ünü kullanırken farkedebileceğiniz gibi PostBack sonrası sayfa gerçek adresini almakta.Bu sorunu giderebilmek için sayfanızın Load methodunda şu şekilde bir kod kullanabilirsiniz;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!String.IsNullOrEmpty(Request.ServerVariables["HTTP_X_ORIGINAL_URL"]))
        {
            HtmlForm topForm = (FindControl("form1") as HtmlForm); //Formun adını değiştirdiyseniz FindControl methodunun içindeki parametreyi de değiştirmeniz gerekir
            if (topForm != null) {
                topForm.Action = Request.ServerVariables["HTTP_X_ORIGINAL_URL"];
            }
        }
    }

Kaynak : http://blogs.iis.net/ruslany/archive/2008/10/23/asp-net-postbacks-and-url-rewriting.aspx