diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/Utils.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/Utils.cs
index 56b27c79..2285cd13 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/Utils.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/Utils.cs
@@ -327,5 +327,22 @@ namespace WebsitePanel.Portal
var idn = new IdnMapping();
return idn.GetAscii(domainName);
}
+
+ ///
+ /// Adds the specified parameter to the Query String.
+ ///
+ ///
+ /// Name of the parameter to add.
+ /// Value for the parameter to add.
+ /// Url with added parameter.
+ public static Uri AddParameterToUrl(Uri url, string paramName, string paramValue)
+ {
+ var uriBuilder = new UriBuilder(url);
+ var query = HttpUtility.ParseQueryString(uriBuilder.Query);
+ query[paramName] = paramValue;
+ uriBuilder.Query = query.ToString();
+
+ return new Uri(uriBuilder.ToString());
+ }
}
}
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesAddIPAddress.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesAddIPAddress.ascx.cs
index d4df6d54..46fff296 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesAddIPAddress.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesAddIPAddress.ascx.cs
@@ -149,7 +149,14 @@ namespace WebsitePanel.Portal
private void RedirectBack()
{
- Response.Redirect(NavigateURL("PoolID", ddlPools.SelectedValue));
+ var returnUrl = Request["ReturnUrl"];
+
+ if (string.IsNullOrEmpty(returnUrl))
+ {
+ returnUrl = NavigateURL("PoolID", ddlPools.SelectedValue);
+ }
+
+ Response.Redirect(returnUrl);
}
protected void ddlPools_SelectedIndexChanged(object sender, EventArgs e)
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesEditIPAddress.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesEditIPAddress.ascx.cs
index 7ac5711a..c3cea0fd 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesEditIPAddress.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesEditIPAddress.ascx.cs
@@ -107,7 +107,14 @@ namespace WebsitePanel.Portal
private void RedirectBack()
{
- Response.Redirect(NavigateURL("PoolID", ddlPools.SelectedValue));
+ var returnUrl = Request["ReturnUrl"];
+
+ if (string.IsNullOrEmpty(returnUrl))
+ {
+ returnUrl = NavigateURL("PoolID", ddlPools.SelectedValue);
+ }
+
+ Response.Redirect(returnUrl);
}
protected void btnUpdate_Click(object sender, EventArgs e)
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx
index 4c63c10d..8df5d222 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx
@@ -11,7 +11,7 @@
-
+
<%# Eval("ExternalIP") %>
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx.cs
index 44c7de99..6718425e 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx.cs
@@ -55,9 +55,15 @@ namespace WebsitePanel.Portal
return HostModule.EditUrl(key, keyVal, ctrlKey, key2 + "=" + keyVal2);
}
+ public string GetReturnUrl()
+ {
+ var returnUrl = Utils.AddParameterToUrl(Request.Url, "IpAddressesCollapsed", "False");
+ return Uri.EscapeDataString("~" + returnUrl.PathAndQuery);
+ }
+
protected void btnAdd_Click(object sender, EventArgs e)
{
- Response.Redirect(HostModule.EditUrl("ServerID", PanelRequest.ServerId.ToString(), "add_ip"), true);
+ Response.Redirect(EditModuleUrl("ServerID", PanelRequest.ServerId.ToString(), "add_ip", "ReturnUrl", GetReturnUrl()), true);
}
}
}
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditServer.ascx.cs
index e9d268e6..c31abfbd 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditServer.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditServer.ascx.cs
@@ -59,6 +59,8 @@ namespace WebsitePanel.Portal
return;
}
}
+
+ IPAddressesHeader.IsCollapsed = IsIpAddressesCollapsed;
}
private void BindTools()
@@ -232,5 +234,13 @@ namespace WebsitePanel.Portal
return;
}
}
+
+ protected bool IsIpAddressesCollapsed
+ {
+ get
+ {
+ return PanelRequest.GetBool("IpAddressesCollapsed", true);
+ }
+ }
}
}