Цель
Во время нажатия определенной вкладки извлекайте данные и привязывайте другие элементы управления Telerik на вкладке (среда asp.net, веб-формы)
То, что было предпринято, с нежелательными побочными эффектами
- реализован метод сервера OnTabClick
- связанная вкладка и другие элементы управления успешно
- сломал остальную часть страницы
Нежелательные результаты
Каждая вкладка была привязана к событию, поэтому пришлось проверять наличие нужной вкладки, иначе обходной логики. Это казалось достаточно простым
<code>
protected void TabStrip_TabClick(object sender, RadTabStripEventArgs e)
{
if (e.Tab.Value == @"TheOne")
{
//get data, bind controls
...
}
e.Tab.PageView.Selected = true;
e.Tab.Selected = true;
e.Tab.Focus();
}
Сломаны другие вкладки и их функциональность (странные проблемы с рендерингом и нежелательная функциональность, отсутствующие элементы управления = полный беспорядок)
Сброс в рабочее состояние
Теперь все остальные вкладки снова работают. Я думаю, что из-за функциональности других вкладок мне нужно начинать с нуля, а не настраивать вкладку.
рад полоса
<telerik:RadTabStrip ID="TabStrip1" runat="server" OnTabClick="TabStrip1_TabClick" MultiPageID="MultiPage1" CausesValidation="false" >
<Tabs>
...
<telerik:RadTab runat="server" Text="Lazy Load Tab" Value="TheOne" EnableViewState="False" />
...
</telerik:RadTabStrip>
<telerik:RadMultiPage ID="MultiPage1" runat="server" Height="100%" SelectedIndex="0">
<telerik:RadPageView ID="HistoryPage" runat="server" Height="100%">
...
//Content, other controls
...
<telerik:RadPageView>
Что нужно попробовать, пока не получится иное
- Для нужной вкладки внедрить OnPreRender
- если это не сработает, попробуйте использовать jquery или js для привязки к событию onclick, затем вызовите WebMethod или что-то еще
Я не хочу пытаться реализовать OnClientTabSelecting
, потому что это должно быть сделано на уровне RadTapStrip, что заставило бы меня вернуться к привязке всех вкладок.