我们在网页上插入了一个Telerik RadMultiPage控件,其中有7个标签
在其中一些选项卡上,我们要显示一个组合框,向用户显示可以选择编辑/查看数据的表名列表。
我们希望根据所选的选项卡过滤表名列表。
是否有某种方法可以将承载RadMultiPage控件的页面中的值传递给每个RadPageView的子网页?
答案 0 :(得分:1)
这是一个让你考虑的想法。您可能需要在服务器上注册选项卡单击事件,然后将此选项卡值传递到下拉列表控件中,然后筛选并重新绑定数据。
<telerik:RadTabStrip ID="RadTabStrip1" runat="server" OnTabClick="RadTabStrip1_TabClick" MultiPageID="RadMultiPage1">
<Tabs>
<telerik:RadTab runat="server" Text="Tab1" Value="1" PageViewID="PageView1">
</telerik:RadTab>
<telerik:RadTab runat="server" Text="Tab2" Value="2" PageViewID="PageView2">
</telerik:RadTab>
</Tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage id="RadMultiPage1" runat="server" SelectedIndex="0">
<telerik:RadPageView id="PageView1" runat="server">
... 1st RadComboBox control here
</telerik:RadPageView>
<telerik:RadPageView id="PageView2" runat="server">
... 2nd RadComboBox control here
</telerik:RadPageView>
</telerik:RadMultiPage>
protected void RadTabStrip1_TabClick(object sender, RadTabStripEventArgs e)
{
switch (e.Tab.Value)
{
case "1":
// get a reference of your 1st RadComboBox control and rebind data...
break;
case "2": // add a new child tab
// get a reference of your 2nd RadComboBox control and rebind data...
break;
}
}
答案 1 :(得分:1)
如果您使用ContentUrl加载PageViews中的整个页面,
使用查询字符串参数或会话/缓存变量(您可以采用与其他答案类似的方式应用它)
或者使用JavaScript调用将返回所需数据的父页面上的函数,例如
//in the multiplage content page
function getCurrentTab() {
var info = window.parent.getActiveTab();
}
//on the page with the tab strip
function getActiveTab() {
var ts = $find("<%=YourTabStrip.ClientID%>");
return ts.get_selectedTab().get_value();
}`enter code here`