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 2285cd13..428ab43f 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/Utils.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/Utils.cs
@@ -46,7 +46,7 @@ namespace WebsitePanel.Portal
///
/// Summary description for Utils.
/// 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)
+ public static Uri AddParameter(this Uri url, string paramName, string paramValue)
{
var uriBuilder = new UriBuilder(url);
var query = HttpUtility.ParseQueryString(uriBuilder.Query);
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddresses.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddresses.ascx
index 11119fd1..62389f09 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddresses.ascx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddresses.ascx
@@ -51,7 +51,7 @@
-
+
<%# Eval("ExternalIP") %>
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddresses.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddresses.ascx.cs
index b3ed2b40..950cd86d 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddresses.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddresses.ascx.cs
@@ -45,6 +45,8 @@ namespace WebsitePanel.Portal
gvIPAddresses.PageSize = UsersHelper.GetDisplayItemsPerPage();
ddlItemsPerPage.SelectedValue = gvIPAddresses.PageSize.ToString();
+ gvIPAddresses.PageIndex = PageIndex;
+
// pool
if (!String.IsNullOrEmpty(PanelRequest.PoolId))
ddlPools.SelectedValue = PanelRequest.PoolId;
@@ -69,6 +71,7 @@ namespace WebsitePanel.Portal
bool vps = ddlPools.SelectedIndex > 1;
gvIPAddresses.Columns[3].Visible = vps;
}
+
protected void odsIPAddresses_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
if (e.Exception != null)
@@ -84,10 +87,23 @@ namespace WebsitePanel.Portal
return PortalUtils.GetSpaceHomePageUrl(spaceId);
}
+ public string GetReturnUrl()
+ {
+ var returnUrl = Request.Url.AddParameter("Page", gvIPAddresses.PageIndex.ToString());
+ return Uri.EscapeDataString("~" + returnUrl.PathAndQuery);
+ }
+
+ public int PageIndex
+ {
+ get
+ {
+ return PanelRequest.GetInt("Page", 0);
+ }
+ }
protected void btnAddItem_Click(object sender, EventArgs e)
{
- Response.Redirect(EditUrl("PoolID", ddlPools.SelectedValue, "add_ip"), true);
+ Response.Redirect(EditUrl("PoolID", ddlPools.SelectedValue, "add_ip", "ReturnUrl=" + GetReturnUrl()), true);
}
protected void ddlItemsPerPage_SelectedIndexChanged(object sender, EventArgs e)
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx.cs
index 6718425e..fc805eee 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx.cs
@@ -43,6 +43,18 @@ namespace WebsitePanel.Portal
{
protected void Page_Load(object sender, EventArgs e)
{
+ if (!IsPostBack)
+ {
+ gvIPAddresses.PageIndex = PageIndex;
+ }
+ }
+
+ public int PageIndex
+ {
+ get
+ {
+ return PanelRequest.GetInt("IpAddressesPage", 0);
+ }
}
public string EditModuleUrl(string key, string keyVal, string ctrlKey)
@@ -57,7 +69,10 @@ namespace WebsitePanel.Portal
public string GetReturnUrl()
{
- var returnUrl = Utils.AddParameterToUrl(Request.Url, "IpAddressesCollapsed", "False");
+ var returnUrl = Request.Url
+ .AddParameter("IpAddressesCollapsed", "False")
+ .AddParameter("IpAddressesPage", gvIPAddresses.PageIndex.ToString());
+
return Uri.EscapeDataString("~" + returnUrl.PathAndQuery);
}
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditServer.ascx.cs
index c31abfbd..3bee6d7d 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditServer.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditServer.ascx.cs
@@ -58,9 +58,9 @@ namespace WebsitePanel.Portal
ShowErrorMessage("SERVER_GET_SERVER", ex);
return;
}
- }
- IPAddressesHeader.IsCollapsed = IsIpAddressesCollapsed;
+ IPAddressesHeader.IsCollapsed = IsIpAddressesCollapsed;
+ }
}
private void BindTools()