This is a migrated thread and some comments may be shown as answers.

Dynamic pageview creation doesn't work

1 Answer 61 Views
TabStrip
This is a migrated thread and some comments may be shown as answers.
Nate
Top achievements
Rank 1
Nate asked on 30 Jan 2014, 11:19 AM
 
         protected void Page_Init(object sender, EventArgs e)
       {
           if (!Page.IsPostBack)
           {
               AddPageView(tabstripPersoneel.FindTabByText("Personeelsfiche"));
           }
       }
 
       protected void Sidebar_TabClick(object sender, RadTabStripEventArgs e)
       {
           AddPageView(e.Tab);
           e.Tab.PageView.Selected = true; //NullReferenceException happens Here
       }
 
       private void AddPageView(RadTab tab)
       {
           RadPageView pageView = new RadPageView();
           pageView.ID = tab.Text;
           ContentMultiPage.PageViews.Add(pageView);
           tab.PageViewID = pageView.ID;
       }
 
       protected void ContentMultiPage_OnPageViewCreated(object sender, RadMultiPageEventArgs e)
       {
           string userControlName ="/Controls/"+ e.PageView.ID + "Weergave.ascx";
 
           Control userControl = Page.LoadControl(userControlName);
           userControl.ID = e.PageView.ID + "_userControl";
 
           e.PageView.Controls.Add(userControl);
       }



I have 3 radstrips which call the Sidebar_Tabclick method, each nested in a different pageview in a multipage. The sidebar looks like this:

<telerik:RadMultiPage runat="server" ID="SideMultiPage" SelectedIndex="0">
                    <telerik:RadPageView runat="server" ID="PageviewPersoneelsleden">
                        <telerik:RadTabStrip ID="tabstripPersoneel" runat="server" Orientation="VerticalLeft" OnClientTabSelecting="onTabSelecting" OnTabClick="Sidebar_TabClick">
                            <Tabs>
                                <telerik:RadTab Text="Personeelsfiche" runat="server" Selected="True">
                                </telerik:RadTab>
                                <telerik:RadTab Text="Arbeidsovereenkomst" runat="server">
                                </telerik:RadTab>
                                <telerik:RadTab Text="Asset" runat="server">
                                </telerik:RadTab>
                                <telerik:RadTab Text="Certificaten" PageViewID="Certificaat" runat="server">
                                </telerik:RadTab>
                                <telerik:RadTab Text="Ervaringen" PageViewID="Ervaring" runat="server">
                                </telerik:RadTab>
                            </Tabs>
                        </telerik:RadTabStrip>
                    </telerik:RadPageView>
                    <telerik:RadPageView ID="PageviewAfwezigheden" runat="server">
                         <telerik:RadTabStrip ID="tabstripAfwezigheden" runat="server" Orientation="VerticalLeft" OnTabClick="Sidebar_TabClick">
                            <Tabs>
                                <telerik:RadTab Text="Afwezigheid inplannen" PageViewID="Afwezigheid" runat="server" Selected="True">
                                </telerik:RadTab>
                                <telerik:RadTab Text="Maandoverzicht afwezigheden" PageViewID="Maandoverzicht" runat="server">
                                </telerik:RadTab>
                                <telerik:RadTab Text="Jaaroverzicht afwezigheden" PageViewID="Jaaroverzicht" runat="server">
                                </telerik:RadTab>
                                <telerik:RadTab Text="Kalenderoverzicht" PageViewID="Kalender" runat="server">
                                </telerik:RadTab>
                            </Tabs>
                        </telerik:RadTabStrip>
                    </telerik:RadPageView>
                    <telerik:RadPageView ID="PageviewWagens" runat="server">
                         <telerik:RadTabStrip ID="TabstripWagens" runat="server" Orientation="VerticalLeft" OnTabClick="Sidebar_TabClick">
                            <Tabs>
                                <telerik:RadTab Text="Wagens" PageViewID="Wagen" runat="server" Selected="True">
                                </telerik:RadTab>
                                <telerik:RadTab Text="Tankkaarten" PageViewID="Tankkaart" runat="server">
                                </telerik:RadTab>
                                <telerik:RadTab Text="Technische onderhouden" PageViewID="Onderhoud" runat="server">
                                </telerik:RadTab>
                                <telerik:RadTab Text="Expertiseverslagen" PageViewID="Expertiseverslag" runat="server">
                                </telerik:RadTab>
                            </Tabs>
                        </telerik:RadTabStrip>
                    </telerik:RadPageView>
                </telerik:RadMultiPage>

Each tab corresponds to a different custom control. the intent is to copy the workings of http://demos.telerik.com/aspnet-ajax/tabstrip/examples/multipage/dynamic-pageview-creation/defaultcs.aspx. When I execute this, the first pageview loads fine, but when I try to load the second one, it gives me a nullreferenceException on the line with the comment at the end. It seems like it doesn't assign Pageview a value.

1 Answer, 1 is accepted

Sort by
0
Nate
Top achievements
Rank 1
answered on 30 Jan 2014, 12:57 PM
I asked a coworker for some assistance. I forgot to assign the MultiPageID Property on my tabstrip.
Tags
TabStrip
Asked by
Nate
Top achievements
Rank 1
Answers by
Nate
Top achievements
Rank 1
Share this question
or