[Mono-bugs] [Bug 81376][Nor] New - SiteMapDataSource does not properly resolve CurrentNode
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Sat Apr 14 13:03:14 EDT 2007
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by mmorano at mikeandwan.us.
http://bugzilla.ximian.com/show_bug.cgi?id=81376
--- shadow/81376 2007-04-14 13:03:14.000000000 -0400
+++ shadow/81376.tmp.31581 2007-04-14 13:03:14.000000000 -0400
@@ -0,0 +1,47 @@
+Bug#: 81376
+Product: Mono: Class Libraries
+Version: 1.2
+OS:
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Normal
+Component: Sys.Web
+AssignedTo: mhabersack at novell.com
+ReportedBy: mmorano at mikeandwan.us
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: SiteMapDataSource does not properly resolve CurrentNode
+
+This bug is related to #81366. If the SiteMapDataSource is configured to
+start at the current node, this control tries to obtain the current node by
+querying the default provider. This was just resolved in the SiteMap class
+to properly scan all providers.
+
+The patch below addresses only this problem, though I feel there might be
+other changes that should be applied to address similar issues, for
+different configurations of this control. (For example, the last line of
+the patch below performs a Provider.FindSiteMapNode(url) - should this
+perform a scan across all providers?)
+
+
+Here is the patch:
+
+Index: System.Web.UI.WebControls/SiteMapDataSource.cs
+===================================================================
+--- System.Web.UI.WebControls/SiteMapDataSource.cs (revision 75700)
++++ System.Web.UI.WebControls/SiteMapDataSource.cs (working copy)
+@@ -185,7 +185,7 @@
+ } else if (StartFromCurrentNode) {
+ if (StartingNodeUrl.Length != 0)
+ throw new InvalidOperationException
+("StartingNodeUrl can't be set if StartFromCurrentNode is set to true.");
+- starting_node = Provider.CurrentNode;
++ starting_node = SiteMap.CurrentNode;
+ } else if (StartingNodeUrl.Length != 0) {
+ string url = MapUrl (StartingNodeUrl);
+ SiteMapNode node = Provider.FindSiteMapNode
+(url);
More information about the mono-bugs
mailing list