如何动态回发时设置标签索引radmultipage?

时间:2011-08-31 10:14:23

标签: asp.net tabs postback telerik-grid

代码

<telerik:RadTabStrip ID="RadTabStrip1" runat="server" MultiPageID="RadMultiPage1" OnTabClick="RadTabScript1_TabClick" OnClientTabSelecting="onTabSelecting" >  <%-- OnClientTabSelecting="onTabSelecting"> --%>
    <Tabs>
        <telerik:RadTab Text="Resources" runat="server" TabIndex="0" Selected="true" PageViewID="radPageResources"></telerik:RadTab>
        <telerik:RadTab Text="Tasks" runat="server" TabIndex="1" PageViewID="radPageTasks"></telerik:RadTab>
        <telerik:RadTab Text="Messages" runat="server" TabIndex="2" PageViewID="radPageMessages"></telerik:RadTab>
        <telerik:RadTab Text="Files" runat="server" TabIndex="3" PageViewID="radPageFiles"></telerik:RadTab>
        <telerik:RadTab Text="Feedback" runat="server" TabIndex="4" PageViewID="radPageFeedback"></telerik:RadTab>
    </Tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage ID="RadMultiPage1" runat="server" OnPageViewCreated="RadMultiPage1_PageViewCreated" SelectedIndex="0" >  <%--  RenderSelectedPageOnly="true"  >  --%>
<telerik:RadPageView ID="radPageResources" runat="server" TabIndex="0">
<telerik:RadGrid runat="server" ID="grdResource" PageSize="5" Skin="Default" AllowPaging="True"
    AllowSorting="true" ShowFooter="true" AutoGenerateColumns="False" Width="97%"
    OnItemCreated="grdResource_ItemCreated" OnNeedDataSource="grdResource_NeedDataSource"
    OnDeleteCommand="grdResource_DeleteCommand" ShowStatusBar="True" GridLines="None"
    OnItemDataBound="grdResource_ItemDataBound">
</telerik:RadGrid>

像这样我有4个带有索引的pageview选项卡,每个pageview选项卡都包含一个grid.If假设我在某些x-grid中做了更改并导致回发,那么我需要在回发后显示x-grid。但我正在展示Resourcegrid。

代码隐藏

protected void RadMultiPage1_PageViewCreated(object sender, RadMultiPageEventArgs e)
{ 
    RadMultiPage1.SelectedIndex = e.PageView.TabIndex;
}

但是这个事件在任何情况下都没有解雇 那么即使发生回发,我怎么能回到前一个网格呢?

2 个答案:

答案 0 :(得分:1)

尝试在page_prerender中设置选定的索引。

protected void Page_PreRender(object sender, EventArgs e)
{

        //RadTab t1 = new RadTab();
        //RadMultiPage m1 = new RadMultiPage();
        m1.SelectedIndex = t1.SelectedIndex;
}

答案 1 :(得分:0)

我不知道我的解决方案是否有助于此主题 我尝试了所有方法,最后找到了自己的方法,

我建议如果你的问题没有解决,请使java脚本功能,然后从后面的代码中调用它 我的样本:

   function OnClientClick1(i) {

        var tabstrip1 = $find("<%=RadTabStrip1.ClientID %>");

            tabstrip1.set_selectedIndex(1);

    }

然后在代码上创建函数来调用

 private void ChangeTab(int index)
    {
        string scriptyKey = "Alert" + Guid.NewGuid().ToString().Replace("-", "_");
        ScriptManager.RegisterStartupScript(Page, Page.GetType(), scriptyKey, "OnClientClick1("+index.ToString()+");", true);

    }

我希望有用