Author: lluis
Date: 2005-03-16 06:01:05 -0500 (Wed, 16 Mar 2005)
New Revision: 41885
Modified:
trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
trunk/mcs/class/System.Web/System.Web.UI.WebControls/ListControl.cs
Log:
2005-03-16 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* ListControl.cs: Load selected indices in the right place. Fixes
#73745.
Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
2005-03-16 11:00:20 UTC (rev 41884)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
2005-03-16 11:01:05 UTC (rev 41885)
@@ -1,3 +1,7 @@
+2005-03-16 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+
+ * ListControl.cs: Load selected indices in the right place. Fixes
#73745.
+
2005-03-11 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* Button.cs, ImageButton.cs: Interpret PostBackOptions.ClientSubmit
Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/ListControl.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/ListControl.cs
2005-03-16 11:00:20 UTC (rev 41884)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/ListControl.cs
2005-03-16 11:01:05 UTC (rev 41885)
@@ -224,16 +224,9 @@
get
{
if(items==null)
- {
+ {
items = new ListItemCollection();
-#if NET_2_0
- if (selectedIndices != null) {
- Select (selectedIndices);
- selectedIndices = null;
- }
-#endif
-
if(IsTrackingViewState)
{
items.TrackViewState();
@@ -260,7 +253,7 @@
}
return -1;
}
- set {
+ set {
if (Items.Count == 0)
{
cachedSelectedIndex = value;
@@ -381,7 +374,7 @@
{
ArrayList si = new ArrayList();
for(int i=0; i < Items.Count; i++)
- {
+ {
if(Items[i].Selected)
si.Add(i);
}
@@ -433,7 +426,11 @@
Pair state = (Pair) savedState;
base.LoadViewState(state.First);
Items.LoadViewState(state.Second);
- }
+ }
+ if (selectedIndices != null) {
+ Select (selectedIndices);
+ selectedIndices = null;
+ }
}
#endif
@@ -594,7 +591,11 @@
if (ob == null) return;
object[] state = (object[]) ob;
base.LoadControlState (state[0]);
- selectedIndices = state[1] as ArrayList;
+ selectedIndices = state[1] as ArrayList;
+ if (!EnableViewState) {
+ Select (selectedIndices);
+ selectedIndices = null;
+ }
}
protected internal override object SaveControlState ()
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches