Fix NavigateUrl render for J2EE portlets.
authorEyal Alalouf <eyala@mainsoft.com>
Tue, 6 Feb 2007 12:00:57 +0000 (12:00 -0000)
committerEyal Alalouf <eyala@mainsoft.com>
Tue, 6 Feb 2007 12:00:57 +0000 (12:00 -0000)
svn path=/trunk/mcs/; revision=72350

mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
mcs/class/System.Web/System.Web.UI.WebControls/ImageMap.cs
mcs/class/System.Web/System.Web.UI.WebControls/Menu.cs
mcs/class/System.Web/System.Web.UI.WebControls/Panel.cs
mcs/class/System.Web/System.Web.UI.WebControls/TreeView.cs

index ff29d9a2f5aac0a418301b66038253fa672c14d2..7e49a2640c8dce7bec6140cb14bbaa457e33d031 100644 (file)
@@ -1,3 +1,8 @@
+2007-02-06 Eyal Alaluf <eyala@mainsoft.com>
+
+       * Menu.cs ImageMap.cs Panel.cs TreeView.cs: Ensure that the NavigateUrl
+         property is rendered as a RenderURL for J2EE portlets.
+
 2007-02-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
 
        * BaseValidator.cs: refactored RegisterValidatorCommonScript to use
index edbc4ac08e372ab54f94e80624bd96a9cbc75c5d..5182fe9d46ff92951f780ee766e41f826e280bea 100644 (file)
@@ -166,7 +166,12 @@ namespace System.Web.UI.WebControls
                                                        string target = spot.Target.Length > 0 ? spot.Target : Target;
                                                        if (!String.IsNullOrEmpty (target))
                                                                writer.AddAttribute (HtmlTextWriterAttribute.Target, target);
-                                                       writer.AddAttribute (HtmlTextWriterAttribute.Href, spot.NavigateUrl);
+#if TARGET_J2EE
+                                                       string navUrl = ResolveClientUrl (spot.NavigateUrl, String.Compare (target, "_blank", true) != 0);
+#else
+                                                       string navUrl = ResolveClientUrl (spot.NavigateUrl);
+#endif
+                                                       writer.AddAttribute (HtmlTextWriterAttribute.Href, navUrl);
                                                        break;
                                                case HotSpotMode.PostBack:
                                                        writer.AddAttribute (HtmlTextWriterAttribute.Href, Page.ClientScript.GetPostBackClientHyperlink (this, n.ToString()));
index d5b87ab707c50f9e8b0bdbd92eefc9bda5bd0917..cfd5bd6611351a961c0d9199882f2cf2c7c494f5 100644 (file)
@@ -1845,11 +1845,15 @@ namespace System.Web.UI.WebControls
                                writer.AddStyleAttribute ("cursor", "text");
                        }
                        else if (item.NavigateUrl != "") {\r
-                               writer.AddAttribute ("href", ResolveClientUrl (item.NavigateUrl));
-                               if (item.Target != "")
-                                       writer.AddAttribute ("target", item.Target);
-                               else if (Target != "")
-                                       writer.AddAttribute ("target", Target);
+                               string target = item.Target != "" ? item.Target : Target;
+#if TARGET_J2EE
+                               string navUrl = ResolveClientUrl (item.NavigateUrl, String.Compare (target, "_blank", true) != 0);
+#else
+                               string navUrl = ResolveClientUrl (item.NavigateUrl);
+#endif
+                               writer.AddAttribute ("href", navUrl);
+                               if (target != "")
+                                       writer.AddAttribute ("target", target);
                        }
                        else {
                                writer.AddAttribute ("href", GetClientEvent (item));
index edc4e8dd51285c249b6cdd658f33e6523c105df0..52e62c27947f5455c42d0d1654e1516d5f899147 100644 (file)
@@ -54,6 +54,7 @@ namespace System.Web.UI.WebControls {
                        
                        string image = BackImageUrl;
                        if (image != "") {
+                               image = ResolveClientUrl (image);
 #if !NET_2_0 // see HtmlTextWriter.WriteStyleAttribute(string, string, bool) 
                                image = String.Format ("url({0})", image);
 #endif
index c78d0c555afad818d837b45c9c30163379c7ac41..b47b87226be49ea368a3565a2224178e6ee2de5f 100644 (file)
@@ -1658,11 +1658,15 @@ namespace System.Web.UI.WebControls
                                writer.AddAttribute ("title", node.ToolTip);
 
                        if (node.NavigateUrl != "") {
-                               writer.AddAttribute ("href", ResolveClientUrl (node.NavigateUrl));
-                               if (node.Target.Length > 0)
-                                       writer.AddAttribute ("target", node.Target);
-                               else if (Target.Length > 0)
-                                       writer.AddAttribute ("target", Target);
+                               string target = node.Target.Length > 0 ? node.Target : Target;
+#if TARGET_J2EE
+                               string navUrl = ResolveClientUrl (node.NavigateUrl, String.Compare (target, "_blank", true) != 0);
+#else
+                               string navUrl = ResolveClientUrl (node.NavigateUrl);
+#endif
+                               writer.AddAttribute ("href", navUrl);
+                               if (target.Length > 0)
+                                       writer.AddAttribute ("target", target);
                                writer.RenderBeginTag (HtmlTextWriterTag.A);
                        }
                        else if (node.SelectAction != TreeNodeSelectAction.None) {