如何在RadTabStrip中附加到单个telerik:RadTab onclick事件

时间:2019-05-17 20:56:41

标签: javascript asp.net telerik

客观

在特定的选项卡单击期间,检索数据并绑定选项卡中的其他Telerik控件(asp.net环境,Web表单)

尝试过的东西,带有不良副作用

  • 实现了OnTabClick服务器方法
  • 成功绑定选项卡和其他控件
  • 打破页面的其余部分

不良结果

  1. 每个选项卡都与事件绑定,因此必须检查所需的选项卡,否则绕过逻辑。这似乎很容易

    
       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();
       }
    

  2. 打破其他选项卡及其功能(奇怪的渲染问题和不希望的功能,缺少控件=完全混乱)

重置为工作状态

现在,所有其他标签都可以再次使用。我的想法是,由于其他选项卡的功能,我需要从头开始,而不必使选项卡被废止。

拉德地带
  <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级别完成,这会使我回到绑定所有选项卡的位置。

0 个答案:

没有答案