Author: krasnov
Date: 2008-02-18 12:08:00 -0500 (Mon, 18 Feb 2008)
New Revision: 96081
Modified:
branches/mainsoft/gh2.2/mcs/class/System.Web/System.Web.UI/ChangeLog
branches/mainsoft/gh2.2/mcs/class/System.Web/System.Web.UI/Page.cs
Log:
* Page.cs: fixed RegisterRequiresPostBack, performance improvement
Modified: branches/mainsoft/gh2.2/mcs/class/System.Web/System.Web.UI/ChangeLog
===================================================================
--- branches/mainsoft/gh2.2/mcs/class/System.Web/System.Web.UI/ChangeLog
2008-02-18 17:03:48 UTC (rev 96080)
+++ branches/mainsoft/gh2.2/mcs/class/System.Web/System.Web.UI/ChangeLog
2008-02-18 17:08:00 UTC (rev 96081)
@@ -1,3 +1,7 @@
+2008-02-18 Vladimir Krasnov <[EMAIL PROTECTED]>
+
+ * Page.cs: fixed RegisterRequiresPostBack, performance improvement
+
2008-02-12 Vladimir Krasnov <[EMAIL PROTECTED]>
* Page.jvm.cs: StateSerializer.readExternal and writeExternal fixed
Modified: branches/mainsoft/gh2.2/mcs/class/System.Web/System.Web.UI/Page.cs
===================================================================
--- branches/mainsoft/gh2.2/mcs/class/System.Web/System.Web.UI/Page.cs
2008-02-18 17:03:48 UTC (rev 96080)
+++ branches/mainsoft/gh2.2/mcs/class/System.Web/System.Web.UI/Page.cs
2008-02-18 17:08:00 UTC (rev 96081)
@@ -1777,10 +1777,10 @@
if (_requiresPostBack == null)
_requiresPostBack = new ArrayList ();
- if (_requiresPostBack.Contains (control.UniqueID))
+ if (_requiresPostBack.Contains (control))
return;
- _requiresPostBack.Add (control.UniqueID);
+ _requiresPostBack.Add (control);
}
[EditorBrowsable (EditorBrowsableState.Advanced)]
@@ -1888,7 +1888,7 @@
#endif
object viewState = SaveViewStateRecursive ();
- object reqPostback = (_requiresPostBack != null &&
_requiresPostBack.Count > 0) ? _requiresPostBack : null;
+ object reqPostback = (_requiresPostBack != null &&
_requiresPostBack.Count > 0) ? GetRequiresPostBackIds () : null;
Pair vsr = null;
if (viewState != null || reqPostback != null)
@@ -1908,6 +1908,14 @@
}
+ private ArrayList GetRequiresPostBackIds ()
+ {
+ ArrayList a = new ArrayList (_requiresPostBack.Count);
+ for (int i = 0; i < _requiresPostBack.Count; i++)
+ a.Add (((Control) _requiresPostBack [i]).UniqueID);
+ return a;
+ }
+
public virtual void Validate ()
{
is_validated = true;
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches