Технические вопросы
5.x

Активная деталь при загрузке раздела

Добрый день!

Пытаюсь определить активную деталь при загрузке раздела. На событии PageLoadComplete страницы раздела всегда активная деталь "Активности". Подскажите, пожалуйста, как узнать по настоящему активную деталь?

Нравится

5 комментариев

Здравствуйте.

Попробуйте так:

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;
}
Показать все комментарии