2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Fri, 10 Sep 2004 01:35:44 +0000 (01:35 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Fri, 10 Sep 2004 01:35:44 +0000 (01:35 -0000)
* HttpServerUtility.cs: in Transfer(path), don't keep form data if
the transfer is done from inside a page that received a postback.
Fixes bug #65613.

svn path=/branches/mono-1-0/mcs/; revision=33682

mcs/class/System.Web/System.Web/ChangeLog
mcs/class/System.Web/System.Web/HttpServerUtility.cs

index 6991c65dbe1d879f5c2dfe8dac3bc44d78c09e5f..1e225536fb4d3e6c308926b585184ccc832af5b0 100644 (file)
@@ -1,3 +1,9 @@
+2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpServerUtility.cs: in Transfer(path), don't keep form data if
+       the transfer is done from inside a page that received a postback.
+       Fixes bug #65613.
+
 2004-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
        * HttpValueCollection.cs: fixed signature of ToString (). Closes bug
index 29022db8253703928cf929a6d805cca61e22a6e1..0abb629c82862d667629f57492ce2a5d89e7cd56 100644 (file)
@@ -46,6 +46,7 @@ using System.Collections.Specialized;
 using System.IO;
 using System.Text;
 using System.Web.Hosting;
+using System.Web.UI;
 using System.Web.Util;
 
 namespace System.Web
@@ -303,7 +304,15 @@ namespace System.Web
                /// <param name="path">The URL path of the new page on the server to execute. </param>
                public void Transfer (string path)
                {
-                       Transfer (path, true);
+                       // If it's a page and a postback, don't pass form data
+                       // See bug #65613.
+                       bool preserveForm = true;
+                       if (_Context.Handler is Page) {
+                               Page page = (Page) _Context.Handler;
+                               preserveForm = !page.IsPostBack;
+                       }
+
+                       Transfer (path, preserveForm);
                }
 
                /// <summary>