ASP.NET, поддерживающий ActiveTabIndex при обратной передаче в TabContainer - PullRequest
0 голосов
/ 23 сентября 2010

Возможно, это уже задавалось много раз, но мне было интересно, как поддерживать ActiveTabIndex в AjaxControlToolKit TabContainer.

Единственный способ, которым я могу думать о достижении такой цели, - это сохранить ActiveTabIndex в сеансе и проверить это при обратной передаче.Есть ли другие способы решения этой проблемы?

Ответы [ 3 ]

1 голос
/ 24 марта 2011

Нет необходимости связываться с Session по этому поводу, Малахия.

Просто поместите это в свой обработчик событий "ActiveTabChanged" (если вы используете C #):

int iTabIndex = int.Parse(Request.Params["__EVENTARGUMENT"].Split(':')[1]);

Затем выполните всенеобходимая логика основана на значении «iTabIndex».

1 голос
/ 23 сентября 2010

Скорее всего этот отвечает на ваш вопрос.Такие вещи принадлежат ViewState страницы, когда они там еще не сохранены.

РЕДАКТИРОВАТЬ: С другой стороны: я проверил это, и мой ActiveTabIndex поддерживает (асинхронную) обратную передачу.

0 голосов
/ 10 октября 2013

вам нужно добавить событие ActiveTabChanged для контейнера вкладок, и вы можете сохранить индекс активной вкладки в состоянии просмотра, а при загрузке страницы просто проверить, не равен ли он нулю, а затем установить его как индекс активной вкладки.

 protected void TabContainer1_ActiveTabChanged(object sender, EventArgs e)
    {
        ViewState["ActiveTabIndex"] = TabContainer1.ActiveTabIndex;

    }

PageOnLoad Код события

if (!(ViewState["ActiveTabIndex"] == null) )
        {            
               TabContainer1.ActiveTabIndex = (int)ViewState["ActiveTabIndex"];          

        }

Обязательно добавьте следующие атрибуты в тег TabContainer

AutoPostBack="true" OnActiveTabChanged="TabContainer1_ActiveTabChanged"
...