【问题标题】:Dynamically add tabstrip and multipageview动态添加 tabstrip 和 multipageview
【发布时间】:2016-06-23 09:40:20
【问题描述】:

我在下面有代码,它可以很好地添加标签和综合浏览量。但是在 2 个选项卡之后它不会再添加,并且一直抱怨 radeditor2 已经存在。 我知道我没有添加相同的 ID。并且不知道为什么它一直试图添加上一个标签而不是新标签。所以说我用 radedtor1 添加 tab1。然后 tab2 与 radeditor2。一切都很好当我尝试使用 radeditor3 添加 tab3 时,它不会让我抱怨 radeditor2 已经存在。我注意到的一件事是每次创建选项卡时都会点击 RadMultiPage1_PageViewCreated。如果您创建了 1 ,它将触发该方法 1 次,2 它将触发 2 次,依此类推。

所以请帮我解决这个问题。非常感谢您的宝贵时间

<script type="text/javascript">
    function OnClientTabSelecting(sender, eventArgs) {
        var tab = eventArgs.get_tab();
        if (tab.get_text() == "")
        {
            document.getElementById("div_AddTab").style.display = "block";
            eventArgs.set_cancel(true);
        }
        else
        {
            eventArgs.set_cancel(false);
        }
    }
</script>
<div id="div_AddTab" style="display:none;">
    Tab Title: <telerik:RadTextBox ID="txt_TabTitle" runat="server" />
    Element Type: <telerik:RadComboBox ID="ddl_ElementType" runat="server" />
    <telerik:RadButton ID="btn_AddTab" runat="server" Text="Add Tab" />
</div>
<div>
    <telerik:RadTabStrip RenderMode="Lightweight" runat="server" ID="RadTabStrip1"  Orientation="HorizontalTop" Width="760"
         MultiPageID="RadMultiPage1" Skin="Windows7" OnClientTabSelecting="OnClientTabSelecting">
        <Tabs>
            <telerik:RadTab runat="server" Text="tab1" />
            <telerik:RadTab runat="server" Text="tab2" />
            <telerik:RadTab runat="server" Text="" ImageUrl="~/images/add.png" />
        </Tabs>
    </telerik:RadTabStrip>
    <telerik:RadMultiPage ID="RadMultiPage1" runat="server" Width="760" Height="380" SelectedIndex="0" OnPageViewCreated="RadMultiPage1_PageViewCreated">
        <telerik:RadPageView ID="RadPageView1" runat="server">
            test
        </telerik:RadPageView>
        <telerik:RadPageView ID="RadPageView2" runat="server">
            test 2
        </telerik:RadPageView>            
    </telerik:RadMultiPage>
</div>


 Protected Sub btn_AddTab_Click(sender As Object, e As EventArgs) Handles btn_AddTab.Click        
    AddPageView(Trim(txt_TabTitle.Text), ddl_ElementType.SelectedItem.Text)
    AddTab(Trim(txt_TabTitle.Text))
End Sub

Protected Sub RadMultiPage1_PageViewCreated(sender As Object, e As RadMultiPageEventArgs)
    Dim rad_Editor As RadEditor = New RadEditor
    Dim radSlider As New RadSlider
    Select Case ddl_ElementType.SelectedValue
        Case "T"
            rad_Editor.ID = "radEditor_" & Trim(txt_TabTitle.Text)
            e.PageView.Controls.Add(rad_Editor)
        Case "B"

        Case "N"
    End Select
End Sub

Private Sub AddTab(title As String)
    Dim tabTemplate = New TabTemplate()
    Dim tab As New RadTab() With { _
        .Text = title,
        .PageViewID = "pv_" & title _
    }
    RadTabStrip1.Tabs.Insert((RadTabStrip1.Tabs.Count - 1), tab)
    RadTabStrip1.DataBind()
    RadTabStrip1.SelectedIndex = tab.Index
End Sub

Private Sub AddPageView(pvId As String, elementType As String)
    Dim pageView As RadPageView = New RadPageView()
    pageView.ID = "pv_" & pvId
    pageView.CssClass = "pageView"
    RadMultiPage1.PageViews.Add(pageView)
    RadMultiPage1.SelectedIndex = pageView.Index

End Sub

【问题讨论】:

    标签: asp.net vb.net telerik


    【解决方案1】:

    一个小错误可能会让您付出高昂的代价。我想出了我的问题,我要把它贴在这里,以防有人犯了和我一样愚蠢的错误。谢谢大家的时间

    而不是rad_Editor.ID = "radEditor_" &amp; Trim(txt_TabTitle.Text) 使用rad_Editor.ID = "radEditor_" &amp; e.PageView.ID

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-07
      • 1970-01-01
      • 1970-01-01
      • 2014-05-17
      • 2011-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多