Is it possible to add tabs via an ajax updater? I'd like to do the following:
If you look correctly i'm trying to achieve the following:
- from a panelbar item click
- open a new tab with a window control that display another page of my choice
- this other page is usually an editor of the choice of the user
It seems that if i postback the page, the redraw works because my tab gets rendered, but it doesn't via the ajax updater:
| Protected Sub NavMenu_ItemClick(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadPanelBarEventArgs) Handles NavMenu.ItemClick |
| Select Case e.Item.Value |
| Case "PredefAllContacts" |
| OpenTab(TabTypesEnum.TabContacts) |
| Case "PredefContacts" |
| Case "PredefDepartments" |
| Case "PredefClients" |
| Case "PredefMyOpenQueries" |
| Case "PredefAllOpenQueries" |
| Case "PredefAllQueries" |
| Case "PredefAllParts" |
| End Select |
| End Sub |
| Protected Sub OpenTab(ByVal NewTabTargetType As TabTypesEnum) |
| 'Scan the tabs to find the next id to create |
| Dim NewTab As New Telerik.Web.UI.RadTab() |
| Dim TargetName As String |
| Dim TargetIndex As Integer = 0 |
| Select Case NewTabTargetType |
| Case TabTypesEnum.TabContacts |
| TargetName = "Contacts" |
| Case TabTypesEnum.TabParts |
| TargetName = "Parts" |
| Case TabTypesEnum.TabQueries |
| TargetName = "Queries" |
| Case Else |
| TargetName = "Contact" |
| End Select |
| While (From t As Telerik.Web.UI.RadTab In OpenTabs.Tabs Where t.Value = TargetName & TargetIndex).Count > 0 |
| TargetIndex += 1 |
| End While |
| 'The next id was found, create the tab |
| NewTab.Text = TargetName |
| NewTab.Value = TargetName & TargetIndex |
| OpenTabs.Tabs.Add(NewTab) |
| 'Create a window control inside the tab |
| Dim NewWindow As New Telerik.Web.UI.RadWindow() |
| NewTab.Controls.Add(NewWindow) |
| NewWindow.Width = NewTab.Width |
| NewWindow.Height = NewTab.Height |
| NewWindow.VisibleTitlebar = False |
| NewWindow.VisibleStatusbar = False |
| NewWindow.AutoSize = True |
| NewWindow.NavigateUrl = "Contacts.aspx" |
| End Sub |
If you look correctly i'm trying to achieve the following:
- from a panelbar item click
- open a new tab with a window control that display another page of my choice
- this other page is usually an editor of the choice of the user
It seems that if i postback the page, the redraw works because my tab gets rendered, but it doesn't via the ajax updater:
| <%@ Page Title="" Language="VB" AutoEventWireup="false" CodeFile="Main.aspx.vb" Inherits="Main" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head id="Head1" runat="server"> |
| <title>Contact Web Agent 2009</title> |
| <link rel="Stylesheet" href="assets/css/StyleSheet.css" /> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager1" Runat="server"></telerik:RadScriptManager> |
| <telerik:RadAjaxPanel ID="RadAjaxUpdater" runat="server"> |
| <div id="header"> |
| <asp:Image ID="Logo" runat="server" ImageUrl="assets/images/un/logo.png" ImageAlign="Left" AlternateText="Logo" CssClass="logo" /> |
| <div class="title">Contact Web Agent 2009.1</div> |
| <div class="subtitle"><asp:Label ID="ConnectionInfo" runat="server" Text="Vous êtes connecté en tant que: Mathieu Dumoulin"></asp:Label></div> |
| <div><asp:Label ID="ConnectionDate" runat="server" Text="Ouverture de session le: 2009/03/17 15:34"></asp:Label></div> |
| <div class="loggoutlink"><asp:LinkButton ID="loggoutlink" runat="server">Fermer ma session</asp:LinkButton></div> |
| </div> |
| <div style="clear: left;"> |
| <telerik:RadSplitter ID="RadSplitter1" runat="server" |
| ResizeMode="EndPane" Width="100%" Height="700px"> |
| <telerik:RadPane ID="MenuSizePane" Runat="server" Width="250px"> |
| <telerik:RadPanelBar ID="NavMenu" runat="server" Width="100%"> |
| <Items> |
| <telerik:RadPanelItem runat="server" Expanded="True" |
| ImageUrl="~/assets/images/un/allusers.png" PreventCollapse="True" |
| Selected="True" Text="Contacts"> |
| <Items> |
| <telerik:RadPanelItem runat="server" |
| ImageUrl="~/assets/images/un/allusers16.png" Text="All contacts" Value="PredefAllContacts"> |
| </telerik:RadPanelItem> |
| <telerik:RadPanelItem runat="server" ImageUrl="~/assets/images/un/user16.png" |
| Text="Contacts only" Value="PredefContacts"> |
| </telerik:RadPanelItem> |
| <telerik:RadPanelItem runat="server" |
| ImageUrl="~/assets/images/un/department16.png" Text="Departments only" Value="PredefDepartments"> |
| </telerik:RadPanelItem> |
| <telerik:RadPanelItem runat="server" ImageUrl="~/assets/images/un/client16.png" |
| Text="Clients only" Value="PredefClients"> |
| </telerik:RadPanelItem> |
| </Items> |
| </telerik:RadPanelItem> |
| <telerik:RadPanelItem runat="server" Expanded="True" |
| ImageUrl="~/assets/images/un/queries.png" PreventCollapse="True" |
| Text="Service requests"> |
| <Items> |
| <telerik:RadPanelItem runat="server" |
| ImageUrl="~/assets/images/un/myopenqueries16.png" Text="My open requests" Value="PredefMyOpenQueries"> |
| </telerik:RadPanelItem> |
| <telerik:RadPanelItem runat="server" |
| ImageUrl="~/assets/images/un/allopenqueries16.png" Text="All open requests" Value="PredefAllOpenQueries"> |
| </telerik:RadPanelItem> |
| <telerik:RadPanelItem runat="server" |
| ImageUrl="~/assets/images/un/allqueries16.png" Text="All requests" Value="PredefAllQueries"> |
| </telerik:RadPanelItem> |
| </Items> |
| </telerik:RadPanelItem> |
| <telerik:RadPanelItem runat="server" Expanded="True" |
| ImageUrl="~/assets/images/un/part.png" PreventCollapse="True" Text="Inventory"> |
| <Items> |
| <telerik:RadPanelItem runat="server" ImageUrl="~/assets/images/un/part16.png" |
| Text="All parts" Value="PredefAllParts"> |
| </telerik:RadPanelItem> |
| </Items> |
| </telerik:RadPanelItem> |
| </Items> |
| </telerik:RadPanelBar> |
| </telerik:RadPane> |
| <telerik:RadSplitBar ID="RadSplitBar1" Runat="server" BorderWidth="3px" /> |
| <telerik:RadPane ID="ContentSizePane" Runat="server" Width=""> |
| <telerik:RadTabStrip ID="OpenTabs" runat="server" SelectedIndex="0" |
| Height="100%" Width="100%"> |
| </telerik:RadTabStrip> |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| </div> |
| </telerik:RadAjaxPanel> |
| </form> |
| </body> |
| </html> |