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()