Author: adar
Date: 2007-01-18 03:30:31 -0500 (Thu, 18 Jan 2007)
New Revision: 71239
Modified:
trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
trunk/mcs/class/System.Web/System.Web.UI.WebControls/SiteMapDataSource.cs
Log:
2007-01-18 Adar Wesley <[EMAIL PROTECTED]>
* SiteMapDataSource.cs: implemented logic of GetStartNode when
StartingNodeOffset is positive.
Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
2007-01-18 04:17:22 UTC (rev 71238)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
2007-01-18 08:30:31 UTC (rev 71239)
@@ -1,3 +1,8 @@
+2007-01-18 Adar Wesley <[EMAIL PROTECTED]>
+
+ * SiteMapDataSource.cs: implemented logic of GetStartNode when
+ StartingNodeOffset is positive.
+
2007-01-17 Konstantin Triger <[EMAIL PROTECTED]>
* BaseValidator.cs: ToString the validating property value or
Modified:
trunk/mcs/class/System.Web/System.Web.UI.WebControls/SiteMapDataSource.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/SiteMapDataSource.cs
2007-01-18 04:17:22 UTC (rev 71238)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/SiteMapDataSource.cs
2007-01-18 08:30:31 UTC (rev 71239)
@@ -35,6 +35,7 @@
using System.Web.UI;
using System.Web.Util;
using System.ComponentModel;
+using System.Collections.Generic;
namespace System.Web.UI.WebControls
{
@@ -206,6 +207,18 @@
}
}
else if (StartingNodeOffset > 0) {
+ List<SiteMapNode> pathCurrentToStartingNode =
new List<SiteMapNode> ();
+ SiteMapNode tmpNode = Provider.CurrentNode;
+ while (tmpNode != null && tmpNode !=
starting_node) {
+ pathCurrentToStartingNode.Insert (0,
tmpNode);
+ tmpNode = tmpNode.ParentNode;
+ }
+ if (tmpNode == starting_node &&
+ StartingNodeOffset <=
pathCurrentToStartingNode.Count) {
+ // The requested node is in the same
subtree as the starting_node
+ // try to advance on this path.
+ starting_node =
pathCurrentToStartingNode [StartingNodeOffset - 1];
+ }
}
return starting_node;
@@ -225,3 +238,4 @@
#endif
+
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches