Hi Telerik Team.
i'm using radstrip and multipage control for switching screen.
and main page has 2 usercontrols.
i difined mainpage splitter resize event that adjust each usercontrol's splitter width and height.
WebUserControl1 has a button
the button call javascript function and raise ajaxmanager request event.
- load first menu
-.load second menu
-.resizing web browser from any tabs, it works fine.
but i have a problem, below phase
- load first menu
- load second menu
-click the button in the WebUserControl1
- resizing web browser while focusing WebUserControl1
-switch other tabs --> It tab's screen width and height are broken.
how can i make same width and height from other tab's screen?
please let me know good solution. thank you.
i'm attaching source code. i'm sorry , i don't know how to upload zip file.
Default.aspx
Default.aspx.vb
WebUserControl1.ascx
WebUserControl1.ascx.vb
WebUserControl2.ascx
WebUserControl2.ascx.vb
i'm using radstrip and multipage control for switching screen.
and main page has 2 usercontrols.
i difined mainpage splitter resize event that adjust each usercontrol's splitter width and height.
WebUserControl1 has a button
the button call javascript function and raise ajaxmanager request event.
- load first menu
-.load second menu
-.resizing web browser from any tabs, it works fine.
but i have a problem, below phase
- load first menu
- load second menu
-click the button in the WebUserControl1
- resizing web browser while focusing WebUserControl1
-switch other tabs --> It tab's screen width and height are broken.
how can i make same width and height from other tab's screen?
please let me know good solution. thank you.
i'm attaching source code. i'm sorry , i don't know how to upload zip file.
Default.aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="damnitsplitter._Default" %><!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 runat="server"> <title></title> <style type="text/css"> html, body, form { width: 100%; height: 100%; margin: 0px; padding: 0px; overflow: hidden; } </style> <script type="text/javascript"> function OnClientResized(sender, args) { var panewidth = $find("DefaultContents").get_width(); var paneheight = $find("DefaultContents").get_height(); var firstmenusplitter = $find($("#UserControl1Splitter").val()); firstmenusplitter.resize(panewidth, paneheight); firstmenusplitter.repaint(); var secondmenusplitter = $find($("#UserControl2Splitter").val()); secondmenusplitter.resize(panewidth, paneheight); secondmenusplitter.repaint(); } function OnClientTabSelected(sender, args) { var panewidth = $find("DefaultContents").get_width(); var paneheight = $find("DefaultContents").get_height(); var firstmenusplitter = $find($("#UserControl1Splitter").val()); firstmenusplitter.resize(panewidth, paneheight); firstmenusplitter.repaint(); var secondmenusplitter = $find($("#UserControl2Splitter").val()); secondmenusplitter.resize(panewidth, paneheight); secondmenusplitter.repaint(); } function OnClientTabSelecting(sender, args) { } function OnRequestStart() { var pageLoadWindow = $find("RadWindowPageLoad"); pageLoadWindow.show(); } function OnResponseEnd() { var pageLoadWindow = $find("RadWindowPageLoad"); pageLoadWindow.close(); } function sendingdata() { var radAjaxManager = $find("RadAjaxManager1"); radAjaxManager.ajaxRequest("damn it RadSplitter!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); } </script></head><body> <form id="form1" runat="server"> <div style="display: none;"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> <scripts> <%--Needed for JavaScript IntelliSense in VS2010--%> <%--For VS2008 replace RadScriptManager with ScriptManager--%> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" /> </scripts> </telerik:RadScriptManager> <telerik:RadWindow ID="RadWindowPageLoad" AutoSize="false" Skin="Simple" Modal="true" Overlay="true" VisibleTitlebar="true" Title="Processing..." Behaviors="None" VisibleStatusbar="false" Width="400" Height="200" runat="server" Style="position: absolute; z-index: 9000;"> <contenttemplate> <div style="margin-top: 55px; text-align: center; vertical-align: middle;"> <asp:Image ID="ImagePageLoading" runat="server" /> </div> </contenttemplate> </telerik:RadWindow> </div> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <clientevents onrequeststart="OnRequestStart" onresponseend="OnResponseEnd" /> <ajaxsettings> <telerik:AjaxSetting AjaxControlID="DefaultRadMenu"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="DefaultRadSplitter1" UpdatePanelHeight="100%" /> <telerik:AjaxUpdatedControl ControlID="hiddenfields" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="DefaultRadSplitter1" UpdatePanelHeight="100%"/> <telerik:AjaxUpdatedControl ControlID="hiddenfields" /> </UpdatedControls> </telerik:AjaxSetting> </ajaxsettings> </telerik:RadAjaxManager> <telerik:RadSplitter runat="server" ID="DefaultRadSplitter1" Orientation="Horizontal" OnClientResized="OnClientResized" Width="100%" Height="100%"> <telerik:RadPane runat="server" ID="DefaultHeader" Height="60" CssClass="DefaultHeaderCss" Scrolling="None"> <div style="height: 100%; width: 100%; background-color: Gray;"> <telerik:RadMenu ID="DefaultRadMenu" runat="server" EnableShadows="true"> <items> <telerik:RadMenuItem Text="first menu" Value="first menu" PostBack="false"> <Items> <telerik:RadMenuItem Text="first menu1" Value="WebUserControl1" /> </Items> </telerik:RadMenuItem> <telerik:RadMenuItem IsSeparator="true" /> <telerik:RadMenuItem Text="second menu" Value="second menu" PostBack="false"> <Items> <telerik:RadMenuItem Text="second menu1" Value="WebUserControl2" /> </Items> </telerik:RadMenuItem> </items> </telerik:RadMenu> </div> </telerik:RadPane> <telerik:RadPane runat="server" ID="DefaultTab" Height="30"> <telerik:RadTabStrip runat="server" ID="DefaultRadTabStrip" MultiPageID="DefaultMultiPage" OnClientTabSelected="OnClientTabSelected" OnClientTabSelecting="OnClientTabSelecting"> <tabtemplate> <asp:Label ID="LabelTabName" runat="server" Text='<%# DataBinder.Eval(Container, "Text") %>' /> <span class="ie6shim"></span> </tabtemplate> </telerik:RadTabStrip> </telerik:RadPane> <telerik:RadPane runat="server" ID="DefaultContents" Width="100%" Height="100%" Scrolling="None"> <telerik:RadMultiPage runat="server" ID="DefaultMultiPage"> </telerik:RadMultiPage> </telerik:RadPane> <telerik:RadPane runat="server" ID="DefaultFooter" Height="30"> <div style="height: 100%; width: 100%; background-color: Gray"> Footer</div> </telerik:RadPane> </telerik:RadSplitter> <asp:Panel runat="server" ID="hiddenfields"> <asp:HiddenField runat="server" ID="UserControl1Splitter" /> <asp:HiddenField runat="server" ID="UserControl2Splitter" /> </asp:Panel> </form></body></html>Default.aspx.vb
Imports Telerik.Web.UIPartial Class _Default Inherits System.Web.UI.Page Private Sub RadMenuTopItemClick(sender As Object, e As Telerik.Web.UI.RadMenuEventArgs) Handles DefaultRadMenu.ItemClick Try If DefaultRadTabStrip.FindTabByText(e.Item.Text) Is Nothing Then AddTab(e.Item.Text) DefaultRadTabStrip.FindTabByText(e.Item.Text).Value = e.Item.Value AddPageView(DefaultRadTabStrip.FindTabByText(e.Item.Text)) DefaultRadTabStrip.DataBind() Else DefaultRadTabStrip.FindTabByText(e.Item.Text).Selected = True DefaultRadTabStrip.FindTabByText(e.Item.Text).PageView.Selected = True End If Catch ex As Exception Throw ex End Try End Sub Private Sub AddTab(ByVal tabName As String) VisibleRadTabContent(True) DefaultTab.Collapsed = False If DefaultRadTabStrip.SelectedTab IsNot Nothing Then DefaultRadTabStrip.SelectedTab.Selected = False End If Dim tab As RadTab = New RadTab tab.Text = tabName tab.Selected = True DefaultRadTabStrip.Tabs.Add(tab) End Sub Private Sub AddPageView(ByVal tab As RadTab) Dim pageView As RadPageView = New RadPageView pageView.ID = tab.Value pageView.Selected = True pageView.Width = System.Web.UI.WebControls.Unit.Percentage(100) pageView.Height = System.Web.UI.WebControls.Unit.Percentage(100) DefaultMultiPage.PageViews.Add(pageView) tab.PageViewID = pageView.ID End Sub Private Sub VisibleRadTabContent(value As Boolean) DefaultRadTabStrip.Visible = value DefaultRadTabStrip.Visible = value End Sub Protected Sub DefaultMultiPage_PageViewCreated(sender As Object, e As Telerik.Web.UI.RadMultiPageEventArgs) Handles DefaultMultiPage.PageViewCreated Dim userControlName As String = e.PageView.ID + ".ascx" Dim userControl As Control = Page.LoadControl(userControlName) userControl.ID = e.PageView.ID & "_userControl" e.PageView.Controls.Add(userControl) End Sub Protected Sub RadAjaxManager_AjaxRequest(ByVal sender As Object, ByVal e As Telerik.Web.UI.AjaxRequestEventArgs) Handles RadAjaxManager1.AjaxRequest Dim a = e.Argument End SubEnd ClassWebUserControl1.ascx
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="WebUserControl1.ascx.vb" Inherits="damnitsplitter.WebUserControl1" %><telerik:RadSplitter runat="server" ID="WebUserControl1RadSplitterWrap" Orientation="Horizontal" Width="100%" Height="100%"> <telerik:RadPane runat="server" ID="WebUserControl1RadPaneMenu" height="30"> <div> <asp:Button ID="sendtodefaultpage" runat="server" Text="Button" OnClientClick="return sendingdata();"/> </div> </telerik:RadPane> <telerik:RadPane runat="server" ID="WebUserControl1RadPane" Width="100%" Height="100%" Scrolling="Y"> <div style="background-color: yellow"> start<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> end<br /> </div> </telerik:RadPane></telerik:RadSplitter>WebUserControl1.ascx.vb
Public Class WebUserControl1 Inherits System.Web.UI.UserControl Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim hiddenfield = DirectCast(Page.FindControl("UserControl1Splitter"), HiddenField) hiddenfield.Value = WebUserControl1RadSplitterWrap.ClientID End SubEnd ClassWebUserControl2.ascx
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="WebUserControl2.ascx.vb" Inherits="damnitsplitter.WebUserControl2" %><telerik:RadSplitter runat="server" ID="WebUserControl1RadSplitterWrap" Orientation="Horizontal" Width="100%" Height="100%"> <telerik:RadPane runat="server" ID="WebUserControl1RadPane" Scrolling="None"> <telerik:RadSplitter runat="server" ID="RadSplitter" Orientation="Vertical" Width="100%" ResizeWithParentPane="false" Height="100%"> <telerik:RadPane runat="server" ID="RadPane1" Scrolling="None"> <div style="background-color: Blue;"> WebUserControl 2 Content fisrt </div> </telerik:RadPane> <telerik:RadSplitBar runat="server"> </telerik:RadSplitBar> <telerik:RadPane runat="server" ID="RadPane2" Scrolling="Y"> <div style="background-color: yellow"> start<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> end<br /> </div> </telerik:RadPane> </telerik:RadSplitter> </telerik:RadPane></telerik:RadSplitter>WebUserControl2.ascx.vb
Public Class WebUserControl2 Inherits System.Web.UI.UserControl Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim hiddenfield = DirectCast(Page.FindControl("UserControl2Splitter"), HiddenField) hiddenfield.Value = RadSplitter.ClientID End Sub End Class