private void BindRedirection(int redirectId) { // Populating existing redirection settings if (redirectId != Null.NullInteger) { var redirectController = new RedirectionController(); var redirect = redirectController.GetRedirectionById(ModuleContext.PortalId, redirectId); txtRedirectName.Text = redirect.Name; chkEnable.Checked = redirect.Enabled; chkChildPages.Checked = redirect.IncludeChildTabs; var tabs = new TabController().GetTabsByPortal(ModuleContext.PortalId).AsList().Where(IsVisible); var tabInfos = tabs as IList<TabInfo> ?? tabs.ToList(); if (redirect.SourceTabId != -1) { optRedirectSource.SelectedValue = "Tab"; cboSourcePage.SelectedPage = tabInfos.SingleOrDefault(t => t.TabID == redirect.SourceTabId); } else { optRedirectSource.SelectedValue = "Portal"; } if (IsSmartPhoneRedirect(redirect)) { optRedirectType.SelectedValue = "SmartPhone"; } else { optRedirectType.SelectedValue = redirect.Type.ToString(); } optRedirectTarget.SelectedValue = redirect.TargetType.ToString(); //Other, populate Capabilities if (redirect.Type == RedirectionType.Other) { BindRedirectionCapabilties(); } switch (redirect.TargetType) { case TargetType.Portal: if (cboPortal.Items.Count < 1) optRedirectTarget.SelectedValue = "Tab"; else cboPortal.Select(redirect.TargetValue.ToString(), false); break; case TargetType.Tab: int redirectTargetInt; if(int.TryParse(redirect.TargetValue.ToString(), out redirectTargetInt)) cboTargetPage.SelectedPage = tabInfos.SingleOrDefault(t => t.TabID == redirectTargetInt); break; case TargetType.Url: txtTargetUrl.Text = redirect.TargetValue.ToString(); break; } } }