Добрый день!
Пытаюсь определить активную деталь при загрузке раздела. На событии PageLoadComplete страницы раздела всегда активная деталь "Активности". Подскажите, пожалуйста, как узнать по настоящему активную деталь?
Нравится
Здравствуйте.
Попробуйте так:
var activeDetailTabName = Page.DetailsTabPanel.Tabs[Page.DetailsTabPanel.ActiveTabIndex].Name;
Добрый день!
Используя выше описанное, при любой активной вкладке на событии PageLoadComplete страницы раздела всегда возвращается "DetailTab255391425965478dbe0e4611a3f786b3". Не могли бы вы сказать чей это ID(ни к одному окну реестру детали он не подходит)? Но т.к. он один и тот же, то это мне наверно не подходит.
Здравствуйте.
Попробуйте поместить данный код:
string activeDetailTabCaption =Page.DetailsTabPanel.Tabs[Page.DetailsTabPanel.ActiveTabIndex].Caption.ToString();
Код поместите после базового PageLoad, потому как PageLoadComplete выполнится один раз, соответственно
код выполнится только при первой загрузке страницы.
Добрый день!
Так мне и нужно при первой загрузке страницы, при переходе по записям я использую GridActiveRowChanged.
Приведенный Вами код выше при первой загрузке страницы так же выдает "Активности".
Здравствуйте.
В принципе, можно создать функцию, которая будет "забирать" нужное имя по ClientID TabPanel
Передавать нужно:
Page.DetailsTabPanel (Детали)
Page.GridTabPanel (Главные табы)
public string GetActiveTabName(Terrasoft.UI.WebControls.Controls.TabPanel tabPanel){ var profileData = ((Terrasoft.UI.WebControls.Page)Page.AspPage).ProfileData; if (profileData != null) { var profileTabPanelItem = profileData[tabPanel.ClientID]; if (profileTabPanelItem != null) { if (profileTabPanelItem.Values.ContainsKey("activetabindex")) { activeTabIndex = (int)(long)(profileTabPanelItem.Values["activetabindex"]); } } } string tabName = string.Empty; var tabs = tabPanel.Tabs; if (activeTabIndex < tabs.Count) { tabName = tabs[activeTabIndex].Name; } return tabName; }