我将 RadTabStrip 用于 2 个选项卡。我希望选项卡的 OnTabClick 更新页面上的更新面板。我遇到的问题是在子页面上找不到控件。
我对父页面的逻辑
protected void tabClick(object sender, RadTabStripEventArgs e)
{
if (e.Tab.SelectedIndex == 0)
{
UpdatePanel tab1 = (UpdatePanel)Page.FindControl("up_EntirePage_Tab1");
tab1.Update();
}
else
{
UpdatePanel tab2 = (UpdatePanel)Page.FindControl("up_EntirePage_Tab2");
tab2.Update();
}
}
所以 up_EntirePage_Tab1 和 up_EntirePage_Tab2 在他们尊敬的页面上看起来像这样。
<asp:UpdatePanel ID="up_EntirePage_Tab1" runat="server">
<asp:UpdatePanel ID="up_EntirePage_Tab2" runat="server">
并且 RadTabStrip 在父页面上看起来像这样
<telerik:RadTabStrip ID="RadTabStrip1" runat="server" SelectedIndex="0"
Height="100%" MultiPageID="RadMultiPage1" OnTabClick="tabClick">
<Tabs>
<telerik:RadTab runat="server" PageViewID="t1" Text="Assign Events To Categories" >
</telerik:RadTab>
<telerik:RadTab runat="server" PageViewID="t2" Text="Assign User Types To Events"
Selected="True">
</telerik:RadTab>
</Tabs>
</telerik:RadTabStrip>
不知道我需要做什么才能做到这一点。
几乎在 Tab 1 上,我有一个列表,如果我添加到它,它会更新得很好。现在,如果我单击包含相同列表的选项卡 2,它将不会被更新。所以我认为在切换时调用相关页面上的更新面板来更新应该为页面提取正确的信息。
如果有更简单的方法甚至更优化的方法,我将不胜感激,但现在我目前的方法甚至都行不通。我得到一个空引用,因为我的查找控件找不到更新面板。
编辑:更新面板位于用户控件 tabs1 和 tab2 中。它们是两个独立的用户控件。