regarding usercontrol load in runtime

Page 1 of 3 123 LastLast
  1. #1

    regarding usercontrol load in runtime

    hey i am using an .aspx page as my master page and want to load control pages in it on menu item click but its showing blank one more thing can i show a control page with viewport layout in this master page on menu click

    .aspx code

    protected void Page_Load(object sender, EventArgs e)
        {
           this.Tab1.ContentControls.Add(this.Grid1);
            this.Tab1.UpdateContent();                
        }
    
    <ext:Viewport ID="vw1" runat="server">
            <Items>
              <ext:Panel 
                                    ID="Tab1" 
                                    runat="server"                                 
                                    Icon="Vcard" 
                                    BodyStyle="background-color: transparent;"
                                    Layout="Fit">   
                                     <TopBar>
                    <ext:Toolbar ID="Toolbar1" runat="server">
                        <Items>
                        <ext:Button ID="Button3" runat="server" Icon="Application" Text="With menu">
                                <Menu>
                                  <ext:Menu ID="Menu1" runat="server">
                                    <Items>
                                        <ext:MenuItem ID="MenuItem1" runat="server" Icon="Accept" Text="Menu 1" Handler="function () {alert('Menu 1');}" />
                                        <ext:MenuItem ID="MenuItem2" runat="server" Icon="Add" Text="Menu 2">
                                            <Listeners>
                                                <Click Handler="alert('Menu 2');" />
                                            </Listeners>
                                        </ext:MenuItem>
                                        <ext:MenuItem ID="MenuItem3" runat="server" Text="Menu 3">
                                            <DirectEvents>
                                                <Click OnEvent="Menu3_Click">
                                                    <EventMask ShowMask="true" />
                                                    <ExtraParams>
                                                        <ext:Parameter Name="Param" Value="Menu 3" Mode="Value" />
                                                    </ExtraParams>
                                                </Click>
                                            </DirectEvents>
                                        </ext:MenuItem>
                                        <ext:MenuSeparator ID="MenuSeparator1" runat="server" />
                                        <ext:MenuItem ID="MenuItem4" runat="server" Text="Menu 5" />
                                    </Items>
                                  </ext:Menu>
                                </Menu>
                                                    </ext:Button>
                             </Items>
                    </ext:Toolbar>
                    
                </TopBar>  
              
               </ext:Panel>
    
            </Items>
        </ext:Viewport>
        
        <asp:PlaceHolder ID="PlaceHolder1" runat="server" />
        <gd:Grid ID="Grid1" runat="server" />
    and code for Grid control page is (.ascx )

    <script runat="server">
        protected void Page_Init(object sender, EventArgs e)
        {
            this.WindowEditor1.GridStore = this.Store1;
        }
        
        protected void ShowDetails(object sender, DirectEventArgs e)
        {
            string id = e.ExtraParams["id"];
            this.WindowEditor1.SetEmployee(TBLCandidatesPersonalInfo.Getcan(id));
            this.WindowEditor1.Show();            
        }
    
        protected void Store1_RefreshData(object sender, StoreRefreshDataEventArgs e)
        {
            int count;
            this.Store1.DataSource = TBLCandidatesPersonalInfo.GetEmployeesFilter(e.Start, e.Limit, e.Sort, e.Dir.ToString(), out count);
            e.Total = count;
    
            this.Store1.DataBind();
        }
    </script>
     <script type="text/javascript">                
            var employeeDetailsRender = function () {
                return '<img class="imgEdit" ext:qtip="Click to view/edit additional details" style="cursor:pointer;" src="vcard_edit.png" />';
            };
    
            var cellClick = function (grid, rowIndex, columnIndex, e) {
                var t = e.getTarget(),
                    record = grid.getStore().getAt(rowIndex),  // Get the Record
                    columnId = grid.getColumnModel().getColumnId(columnIndex); // Get column id
    
                if (t.className == "imgEdit" && columnId == "Details") {
                    //the ajax call is allowed
                    return true;
                }
                
                //forbidden
                return false;
            };
        </script>
         <ext:ResourceManager ID="ResourceManager1" runat="server" />
         <ext:Store ID="Store1" runat="server" RemoteSort="true" OnRefreshData="Store1_RefreshData">
                <Proxy>
                    <ext:PageProxy />
                </Proxy>
                <Reader>
                    <ext:JsonReader IDProperty="UsrSysNo">
                        <Fields>
                            <ext:RecordField Name="UsrSysNo" />
                            <ext:RecordField Name="FName" />
                            <ext:RecordField Name="MName" />
                            <ext:RecordField Name="LNme" />    
                            <ext:RecordField Name="Initial" />
                            <ext:RecordField Name="City" />
                            <ext:RecordField Name="Email" />                         
                            <ext:RecordField Name="CreatedDate" Type="Date" DateFormat="yyyy-MM-ddTHH:mm:ss" />                       
                            <ext:RecordField Name="Telephone" />
                            <ext:RecordField Name="Zip" />                  
                        </Fields>
                    </ext:JsonReader>
                </Reader>
                <AutoLoadParams>
                    <ext:Parameter Name="start" Value="0" Mode="Raw" />
                    <ext:Parameter Name="limit" Value="5" Mode="Raw" />
                </AutoLoadParams>
                <SortInfo Field="LastName" Direction="ASC" />
                <Listeners> 
                    <LoadException Handler="Ext.MessageBox.alert('Load failed', response.statusText);" />                            
                </Listeners>
            </ext:Store>
            <ext:FitLayout ID="FitLayout1" runat="server"> 
                <Items>
                <ext:Panel ID="ViewPort1" runat="server" Layout="VBoxLayout">
                <LayoutConfig> 
                 <ext:VBoxLayoutConfig Align="Stretch" />
                </LayoutConfig> 
                 <Items> 
                 <ext:Panel ID="PanelL" runat="server" Title="L" Layout="FitLayout" Border="true">  
                 <Items> 
             <ext:GridPanel 
                ID="GridPanel1" 
                runat="server" 
                StoreID="Store1" 
                Title="Employees" 
                Header="false" 
                Height="175" 
                AutoExpandColumn="Employee">
                <ColumnModel ID="ColumnModel1" runat="server">
                    <Columns>
                        <ext:Column ColumnID="Employee" Header="Full Name" DataIndex="FName">  
                            <Renderer Handler="return '<b>' + record.data['Initial'] + '</b>,' + record.data['FName']+ '</b>,' + record.data['MName']+ '</b>,' + record.data['LNme']" />                 
                        </ext:Column>   
                         <ext:Column Header="LName" DataIndex="LNme" Width="100" />                
                        <ext:DateColumn Header="Created Date" DataIndex="CreatedDate" Format="yyyy-MM-dd" />
                        <ext:Column Header="City" DataIndex="City" Width="100" />
                        <ext:Column Header="Telephone" DataIndex="Telephone" Width="100" />
                        <ext:Column Header="Zip" DataIndex="Zip" Width="100" />
                        <ext:Column Header="Email" DataIndex="Email" Width="250" />
                        <ext:Column 
                            ColumnID="Details" 
                            Header="Details" 
                            Width="50" 
                            Align="Center" 
                            Fixed="true" 
                            MenuDisabled="true" 
                            Resizable="false">
                            <Renderer Fn="employeeDetailsRender" 
                            />                    
                        </ext:Column>
                    </Columns>
                </ColumnModel>
                 <LoadMask ShowMask="true" />
                <SaveMask ShowMask="true" />
                <Listeners>
                    <CellClick Fn="cellClick" />
                </Listeners>       
                <DirectEvents>
                    <CellClick 
                        OnEvent="ShowDetails" 
                        Failure="Ext.MessageBox.alert('Load failed', 'Error during ajax event!');">
                        <EventMask ShowMask="true" Target="CustomTarget" CustomTarget="={#{GridPanel1}.body}" />
                        <ExtraParams>
                            <ext:Parameter Name="id" Value="params[0].getStore().getAt(params[1]).id" Mode="Raw" />
                        </ExtraParams>
                    </CellClick>
                </DirectEvents>    
            </ext:GridPanel>
            </Items>
            </ext:Panel>
     </Items>
     </ext:Panel>
     </Items>
     </ext:FitLayout>
           <uc1:WindowEditor ID="WindowEditor1" runat="server" />
    it is using another control page to display grid data in a form in window

    its code is (Window.ascx)

    <ext:Store runat="server" ID="EmployeesStore">
        <Reader>
            <ext:JsonReader IDProperty="EmployeeID">
                <Fields>
                    <ext:RecordField Name="UsrSysNo" />
                    <ext:RecordField Name="FName" />
                </Fields>
            </ext:JsonReader>
        </Reader>
    </ext:Store>
    
    <ext:Window 
        ID="EmployeeDetailsWindow" 
        runat="server" 
        Icon="Group" 
        Title="Employee Details"
        Width="400" 
        Height="400" 
        AutoShow="false" 
        Modal="true" 
        Hidden="true"
        Layout="Fit">
        <Items>
            <ext:TabPanel runat="server" ActiveTabIndex="0" Border="false" DeferredRender="false">
                <Items>
                    <ext:Panel 
                        ID="CompanyInfoTab" 
                        runat="server" 
                        Title="Company Info" 
                        Icon="ChartOrganisation"
                        Padding="5"
                        Layout="Form">
                        <Items>
                            <ext:TextField ID="EmployeeID" runat="server" FieldLabel="Employee ID" Width="250" Disabled="true" />
                             <ext:TextField ID="Initial" runat="server" FieldLabel="Initial" Width="250" />
                            <ext:TextField ID="FirstName" runat="server" FieldLabel="First Name" Width="250" />
                            <ext:TextField ID="mname" runat="server" FieldLabel="Middle Name" Width="250" />
                            <ext:TextField ID="LastName" runat="server" FieldLabel="Last Name" Width="250" />
                            <ext:TextField ID="City" runat="server" FieldLabel="City" Width="250" />
                             <ext:TextField ID="Email" runat="server" FieldLabel="Email" Width="250" />
                              <ext:TextField ID="CreatedDate" runat="server" FieldLabel="CreatedDate" Width="250" Format="yyyy-M-d" />
                               <ext:TextField ID="Telephone" runat="server" FieldLabel="Telephone" Width="250" />
                               <ext:TextField ID="Zip" runat="server" FieldLabel="Zip" Width="250" />
                            <ext:ComboBox 
                                ID="ReportsTo" 
                                runat="server" 
                                StoreID="EmployeesStore" 
                                FieldLabel="Reports to"
                                AllowBlank="true" 
                                DisplayField="LastName" 
                                ValueField="EmployeeID" 
                                TypeAhead="true"
                                Mode="Local" 
                                ForceSelection="true" 
                                TriggerAction="All" 
                                EmptyText="Select an employee..."
                                Width="250" 
                                />
                            <ext:DateField ID="HireDate" runat="server" Width="250" FieldLabel="Hire date" Format="yyyy-M-d" />
                            <ext:TextField ID="Extension" runat="server" FieldLabel="Extension" Width="250" />
                        </Items>
                    </ext:Panel>              
                </Items>
            </ext:TabPanel>
        </Items>
        <Buttons>
            <ext:Button ID="SaveButton" runat="server" Text="Save" Icon="Disk">
                <DirectEvents>
                    <Click OnEvent="SaveEmployee" Failure="Ext.MessageBox.alert('Saving failed', 'Error during ajax event');">
                        <EventMask ShowMask="true" Target="CustomTarget" CustomTarget="={#{EmployeeDetailsWindow}.body}" />
                        <ExtraParams>
                            <ext:Parameter Name="id" Value="#{EmployeeID1}.getValue()" Mode="Raw" />
                        </ExtraParams>
                    </Click>
                </DirectEvents>
            </ext:Button>
            <ext:Button ID="CancelButton" runat="server" Text="Cancel" Icon="Cancel">
                <Listeners>
                    <Click Handler="#{EmployeeDetailsWindow}.hide(null);" />
                </Listeners>
            </ext:Button>
        </Buttons>
    </ext:Window>
    Last edited by Daniil; May 26, 2011 at 11:43 AM. Reason: Please use [CODE] tags
  2. #2
    Hi,

    You shouldn't require the following line within the Page_Load event.

    this.Tab1.UpdateContent();
    Just remove that line. I wasn't able to test the remainder of your code, but that one line did stick out as a potential problem.
    Geoffrey McGill
    Founder
  3. #3

    Still getting blank page

    it's still showing blank page with menu bar only

    i even tried with

    protected void Page_Load(object sender, EventArgs e)
        {
                  this.Tab1.ContentControls.Add(LoadControl("Grid.ascx"));
                   Tab1.Render();
         }
    and its giving Invalid object intializer

    with output

    Ext.net.ResourceMgr.init({id:"ctl13$ResourceManager1",BLANK_IMAGE_URL:"/extjs/resources/images/default/s-gif/ext.axd",theme:"blue"});Ext.onReady(function(){Ext.QuickTips.init();this.ctl13_Store1=new Ext.net.Store({proxyId:"ctl13_Store1",autoLoad:{params:{"start":0,"limit":5}},proxy:new Ext.net.PageProxy({}),reader:new Ext.data.JsonReader({fields:[{name:"UsrSysNo"},{name:"FName"},{name:"MName"},{name:"LNme"},{name:"Initial"},{name:"City"},{name:"Email"},{name:"CreatedDate",type:"date",dateFormat:"Y-m-dTH:i:s"},{name:"Telephone"},{name:"Zip"}],idProperty:"UsrSysNo"}),remoteSort:true,sortInfo:{field:"LastName",direction:"asc"},directEventConfig:{},listeners:{loadexception:{fn:function(store,options,response,e){Ext.MessageBox.alert('Load failed', response.statusText);}}}});this.ctl13_WindowEditor1_EmployeesStore=new Ext.ux.data.PagingStore({proxyId:"ctl13_WindowEditor1_EmployeesStore",autoLoad:true,reader:new Ext.data.JsonReader({fields:[{name:"UsrSysNo"},{name:"FName"}],idProperty:"EmployeeID"}),directEventConfig:{},proxy:new Ext.data.PagingMemoryProxy({})});new Ext.Viewport({id:"vw1",renderTo:Ext.getBody(),items:{Tab1_ClientInit},layout:"auto"});Ext.net.ResourceMgr.destroyCmp("Tab1");Ext.net.ResourceMgr.registerIcon(["Vcard","Application","Accept","Add","Group","ChartOrganisation","Disk","Cancel"]);vw1.addAndDoLayout({id:"Tab1",items:{id:"ctl13_ViewPort1",xtype:"panel",items:{id:"ctl13_PanelL",items:{id:"ctl13_GridPanel1",xtype:"netgrid",height:175,header:false,title:"Employees",autoExpandColumn:"Employee",loadMask:{showMask:true},saveMask:{showMask:true},store:ctl13_Store1,selectionMemory:false,cm:this.ctl13_ColumnModel1=new Ext.grid.ColumnModel({proxyId:"ctl13_ColumnModel1",columns:[{dataIndex:"FName",header:"Full Name",id:"Employee",renderer:function(value,metadata,record,rowIndex,colIndex,store){return '<b>' + record.data['Initial'] + '</b>,' + record.data['FName']+ '</b>,' + record.data['MName']+ '</b>,' + record.data['LNme']}},{dataIndex:"LNme",header:"LName"},{dataIndex:"CreatedDate",header:"Created Date",xtype:"datecolumn",format:"Y-m-d"},{dataIndex:"City",header:"City"},{dataIndex:"Telephone",header:"Telephone"},{dataIndex:"Zip",header:"Zip"},{dataIndex:"Email",header:"Email",width:250},{align:"center",fixed:true,header:"Details",id:"Details",menuDisabled:true,renderer:employeeDetailsRender,resizable:false,width:50}]}),listeners:{cellclick:{fn:cellClick}},directEvents:{cellclick:{fn:function(item,rowIndex,columnIndex,e){var params=arguments;Ext.net.DirectEvent.confirmRequest({extraParams:{"id":params[0].getStore().getAt(params[1]).id},eventMask:{showMask:true,target:"customtarget",customTarget:ctl13_GridPanel1.body},userFailure:function(response,result,el,type,action,extraParams,o){Ext.MessageBox.alert('Load failed', 'Error during ajax event!');},control:this,action:'CellClick'});},delay:20}}},layout:"fit",title:"L"},layoutConfig:{align:"stretch"},layout:"vbox"},layout:"fit",tbar:{id:"Toolbar1",xtype:"toolbar",items:[{id:"Button3",iconCls:"icon-application",menu:{id:"Menu1",xtype:"menu",items:[{id:"MenuItem1",handler:function () {alert('Menu 1');},iconCls:"icon-accept",text:"Menu 1"},{id:"MenuItem2",iconCls:"icon-add",text:"Menu 2",listeners:{click:{fn:function(item,e){alert('Menu 2');}}}},{id:"MenuItem3",text:"Menu 3",directEvents:{click:{fn:function(item,e){var params=arguments;Ext.net.DirectEvent.confirmRequest({extraParams:{"Param":"Menu 3"},eventMask:{showMask:true},control:this});},delay:20}}},{id:"MenuSeparator1",xtype:"menuseparator"},{id:"MenuItem4",text:"Menu 5"}]},text:"With menu"},{xtype:"nettbspacer"}]},bodyStyle:"background-color: transparent;",iconCls:"icon-vcard"});this.ctl13_Store1=new Ext.net.Store({proxyId:"ctl13_Store1",autoLoad:{params:{"start":0,"limit":5}},proxy:new Ext.net.PageProxy({}),reader:new Ext.data.JsonReader({fields:[{name:"UsrSysNo"},{name:"FName"},{name:"MName"},{name:"LNme"},{name:"Initial"},{name:"City"},{name:"Email"},{name:"CreatedDate",type:"date",dateFormat:"Y-m-dTH:i:s"},{name:"Telephone"},{name:"Zip"}],idProperty:"UsrSysNo"}),remoteSort:true,sortInfo:{field:"LastName",direction:"asc"},directEventConfig:{},listeners:{loadexception:{fn:function(store,options,response,e){Ext.MessageBox.alert('Load failed', response.statusText);}}}});this.ctl13_WindowEditor1_EmployeesStore=new Ext.ux.data.PagingStore({proxyId:"ctl13_WindowEditor1_EmployeesStore",autoLoad:true,reader:new Ext.data.JsonReader({fields:[{name:"UsrSysNo"},{name:"FName"}],idProperty:"EmployeeID"}),directEventConfig:{},proxy:new Ext.data.PagingMemoryProxy({})});new Ext.Window({id:"ctl13_WindowEditor1_EmployeeDetailsWindow",hidden:true,renderTo:Ext.getBody(),height:400,width:400,items:{xtype:"tabpanel",items:{id:"ctl13_WindowEditor1_CompanyInfoTab",items:[{id:"ctl13_WindowEditor1_EmployeeID",xtype:"textfield",disabled:true,fieldLabel:"Employee ID",width:250},{id:"ctl13_WindowEditor1_Initial",xtype:"textfield",fieldLabel:"Initial",width:250},{id:"ctl13_WindowEditor1_FirstName",xtype:"textfield",fieldLabel:"First Name",width:250},{id:"ctl13_WindowEditor1_mname",xtype:"textfield",fieldLabel:"Middle Name",width:250},{id:"ctl13_WindowEditor1_LastName",xtype:"textfield",fieldLabel:"Last Name",width:250},{id:"ctl13_WindowEditor1_City",xtype:"textfield",fieldLabel:"City",width:250},{id:"ctl13_WindowEditor1_Email",xtype:"textfield",fieldLabel:"Email",width:250},{id:"ctl13_WindowEditor1_CreatedDate",format:"yyyy-M-d",xtype:"textfield",fieldLabel:"CreatedDate",width:250},{id:"ctl13_WindowEditor1_Telephone",xtype:"textfield",fieldLabel:"Telephone",width:250},{id:"ctl13_WindowEditor1_Zip",xtype:"textfield",fieldLabel:"Zip",width:250},{id:"ctl13_WindowEditor1_ReportsTo",xtype:"combo",fieldLabel:"Reports to",width:250,emptyText:"Select an employee...",displayField:"LastName",hiddenName:"ctl13_WindowEditor1_ReportsTo_Value",mode:"local",queryDelay:10,triggerAction:"all",typeAhead:true,valueField:"EmployeeID",store:ctl13_WindowEditor1_EmployeesStore,submitValue:true},{id:"ctl13_WindowEditor1_HireDate",xtype:"datefield",fieldLabel:"Hire date",width:250,format:"Y-n-j"},{id:"ctl13_WindowEditor1_Extension",xtype:"textfield",fieldLabel:"Extension",width:250}],layout:"form",iconCls:"icon-chartorganisation",padding:5,title:"Company Info"},border:false,activeTab:0,deferredRender:false},layout:"fit",buttons:[{id:"ctl13_WindowEditor1_SaveButton",xtype:"button",iconCls:"icon-disk",text:"Save",directEvents:{click:{fn:function(item,e){var params=arguments;Ext.net.DirectEvent.confirmRequest({extraParams:{"id":Ext.get("EmployeeID1").getValue()},eventMask:{showMask:true,target:"customtarget",customTarget:ctl13_WindowEditor1_EmployeeDetailsWindow.body},userFailure:function(response,result,el,type,action,extraParams,o){Ext.MessageBox.alert('Saving failed', 'Error during ajax event');},control:this});},delay:20}}},{id:"ctl13_WindowEditor1_CancelButton",xtype:"button",iconCls:"icon-cancel",text:"Cancel",listeners:{click:{fn:function(item,e){ctl13_WindowEditor1_EmployeeDetailsWindow.hide(null);}}}}],iconCls:"icon-group",title:"Employee Details",modal:true});});
    Last edited by geoffrey.mcgill; May 27, 2011 at 10:25 AM. Reason: please use [CODE] tags
  4. #4
    Hi,

    You don't need to call .Render() as well.

    Please remove
    <ext:ResourceManager ID="ResourceManager1" runat="server" />
    from .ascx and place it into .aspx.

    And there is wrong layout.

    1. Set Layout="Fit" for Viewport.
    2. Move Store into GridPanel (in <Store> section)

    It should work now, but I'd highly recommend you to move <ext:Window> into a separate .ascx to get FitLayot to be a single top level control.


    Here is my test case.

    Example Page
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            Control c = LoadControl("TestUC.ascx");
            this.Panel1.ContentControls.Add(c);
    
            c = LoadControl("Window.ascx");
            this.Form.Controls.Add(c);
        }
    </script>
    
    <!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>Ext.Net Example</title>
    </head>
    <body>
        <form runat="server">
        <ext:ResourceManager runat="server" />
        <ext:Viewport runat="server" Layout="FitLayout">
            <Items>
                <ext:Panel ID="Panel1" runat="server" />
            </Items>
        </ext:Viewport>
        </form>
    </body>
    </html>
    TestUC.ascx
    <%@ Control Language="C#" %>
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!X.IsAjaxRequest)
            {
                this.Store1.DataSource = new object[] 
                { 
                    new object[] { "test11", "test12", "test13" },
                    new object[] { "test12", "test22", "test23" },
                    new object[] { "test13", "test32", "test33" }
                };
                this.Store1.DataBind();
            }
        }
    </script>
    
    <ext:FitLayout runat="server">
        <Items>
            <ext:GridPanel runat="server" AutoHeight="true">
                <Store>
                    <ext:Store ID="Store1" runat="server">
                        <Reader>
                            <ext:ArrayReader>
                                <Fields>
                                    <ext:RecordField Name="test1" />
                                    <ext:RecordField Name="test2" />
                                    <ext:RecordField Name="test3" />
                                </Fields>
                            </ext:ArrayReader>
                        </Reader>
                    </ext:Store>
                </Store>
                <ColumnModel runat="server">
                    <Columns>
                        <ext:Column Header="Test1" DataIndex="test1" />
                        <ext:Column Header="Test2" DataIndex="test2" />
                        <ext:Column Header="Test3" DataIndex="test3" />
                    </Columns>
                </ColumnModel>
            </ext:GridPanel>
        </Items>
    </ext:FitLayout>
    Window.ascx
    <%@ Control Language="C#" %>
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <ext:Window runat="server" Title="Test" />
    P.S. I also demonstrated what samples (how formatted and minimized) we expect.
  5. #5

    Thanks Daniil ,i solved that one in another way but other problem arised

    I modified Master aspx page (example page ) in ur case
    i put aFitlayout in Viewport items and its working
    but now another problem on menu3 click event i want to load another Control page (.ascx) that contain a viewport as it is not possible to render a viewport within another viewport so i put a place holder and in Menu3_Click event i am loading that but its showing blank page
    pls help me

    here is the code

    <script runat="server">
    protected void Page_Load(object sender, EventArgs e)
        {
                    this.Tab1.ContentControls.Add(LoadControl("Grid.ascx"));               
        }
    
     protected void Menu3_Click(object sender, DirectEventArgs e)
        {
            vwnew.Hidden = true;
            this.PlaceHolder1.Controls.Add(this.CanProfile1);
            
        }
     </script>
    
     <script type="text/javascript">                
            var employeeDetailsRender = function () {
                return '<img class="imgEdit" ext:qtip="Click to view/edit additional details" style="cursor:pointer;" src="vcard_edit.png" />';
            };
    
            var cellClick = function (grid, rowIndex, columnIndex, e) {
                var t = e.getTarget(),
                    record = grid.getStore().getAt(rowIndex),  // Get the Record
                    columnId = grid.getColumnModel().getColumnId(columnIndex); // Get column id
    
                if (t.className == "imgEdit" && columnId == "Details") {
                    //the ajax call is allowed
                    return true;
                }
                
                //forbidden
                return false;
            };
        </script>
    
    <ext:Viewport ID="vwnew" runat="server">
              <Items>
               <ext:FitLayout ID="FitLayout1" runat="server"> 
                    <Items>
                         <ext:Panel 
                                    ID="Tab1" 
                                    runat="server"                                 
                                    Icon="Vcard" 
                                    BodyStyle="background-color: transparent;"
                                    Layout="Fit">   
                                     <TopBar>
                    <ext:Toolbar ID="Toolbar1" runat="server">
                        <Items>
                        <ext:Button ID="Button3" runat="server" Icon="Application" Text="With menu">
                                <Menu>
                                  <ext:Menu ID="Menu1" runat="server">
                                    <Items>
                                        <ext:MenuItem ID="MenuItem1" runat="server" Icon="Accept" Text="Menu 1" Handler="function () {alert('Menu 1');}" />
                                        <ext:MenuItem ID="MenuItem2" runat="server" Icon="Add" Text="Menu 2">
                                            <Listeners>
                                                <Click Handler="alert('Menu 2');" />
                                            </Listeners>
                                        </ext:MenuItem>
                                        <ext:MenuItem ID="MenuItem3" runat="server" Text="Menu 3">
                                            <DirectEvents>
                                                <Click OnEvent="Menu3_Click">
                                                    <EventMask ShowMask="true" />
                                                    <ExtraParams>
                                                        <ext:Parameter Name="Param" Value="Menu 3" Mode="Value" />
                                                    </ExtraParams>
                                                </Click>
                                            </DirectEvents>
                                        </ext:MenuItem>
                                        <ext:MenuSeparator ID="MenuSeparator1" runat="server" />
                                        <ext:MenuItem ID="MenuItem4" runat="server" Text="Menu 5" />
                                    </Items>
                                  </ext:Menu>
                                </Menu>
                               <%-- <ToolTips>
                                    <ext:ToolTip runat="server" Html="Application" />
                                </ToolTips>--%>
                           </ext:Button>
                             </Items>
                    </ext:Toolbar>
                    
                </TopBar>  
              
                    </ext:Panel>
               </Items>
            </ext:FitLayout>
    
            </Items>
        </ext:Viewport>
    
    <asp:PlaceHolder ID="PlaceHolder1" runat="server" />
       <cp1:CanProfile ID="CanProfile1" runat="server" />
    and Control page (CanProfile.ascx ) is

    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!X.IsAjaxRequest)
            {
                string text = @"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna.";
    
                //this.ResourceManager1.RegisterClientScriptBlock("text", string.Format("var text=\"{0}\";", text));
    
                foreach (Portlet portlet in ControlUtils.FindControls<Portlet>(this.Page))
                {
                    if (!portlet.ID.Equals("Portlet1"))
                    {
                        portlet.Html = text;
                        portlet.Padding = 5;
                    }
                }
            }
        }
    
        protected void Menu3_Click(object sender, DirectEventArgs e)
        {
            X.MessageBox.Alert("Click", e.ExtraParams["Param"]);
        }
    
        protected void Change1Click(object sender, DirectEventArgs e)
        {
            this.Portlet1.Hidden = true;
            this.Portlet2.Hidden = false;
        }
        
    </script>
    
    <style type="text/css">
        body {
            font-size: 12px;
            background-color: #284051;
            font-family: "Trebuchet MS",sans-serif;
        }
        
        #settingsWrapper {
            border-bottom: 1px solid #111;
            background-color: #323232;
            padding-left: 4px;
        }
        
        #settings {
            padding: 2px;
            border-bottom: 1px solid #3B3B3B;
        }
        
        #settings ul li {
            display: inline;
            color: #fff;
            margin-right: 8px;
            line-height: 24px;
            padding: 2px;
            padding-left: 19px;
        }
        
        #settings ul li a, #settings ul li a:link {
            color: #fff;
            text-decoration: none;
        }
        
        #settings ul li a:hover {
            text-decoration: underline;
        }
        
        #pageTitle {
            font-family: "Trebuchet MS",sans-serif;
            font-size: 17px;
            text-align: center;
            color: #fff;
            margin-top: 20px;
        }
        
        #itemAddContent {
           
        }
        
        #itemComments {
          
        }
        
        #itemActivities {
           
        }
        
        #itemContacts {
            
        }
        
        #TabPanel1 ul.x-tab-strip-top {
            background-image: none !important;
            background-color: #284051;
        }
      
        .x-panel-dd-spacer {
            border: 2px dashed #284051;
        }
    </style>
    
    <ext:Viewport ID="vw" runat="server" StyleSpec="background-color: transparent;">
            <Items>
                <ext:BorderLayout ID="BorderLayout1" runat="server">
                    <North>
                        <ext:Panel 
                            ID="pnlNorth" 
                            runat="server" 
                            Height="80" 
                            Border="false" 
                            Header="false" 
                            BodyStyle="background-color: transparent;">
                            <Content>                           
                                 
                            </Content>
                        </ext:Panel>
                    </North>
                    <West 
                        Collapsible="true"
                        Split="true" 
                        MinWidth="175" 
                        MaxWidth="400" 
                        MarginsSummary="25 0 5 5" 
                        CMarginsSummary="25 0 5 5">
                        <ext:Panel 
                            runat="server" 
                            Title="Settings" 
                            Width="200" 
                            ID="pnlSettings"
                            BodyStyle="background-color: #284051;">
                            <Items>
                                <ext:AccordionLayout ID="AccordionLayout1" runat="server" Animate="true">
                                    <Items>
                                        <ext:Panel ID="Panel1" 
                                            runat="server" 
                                            Border="false" 
                                            Collapsed="True" 
                                            Icon="PageWhiteCopy"
                                            AutoScroll="true"
                                            Title="Content"
                                            Html="<a href='CanReg.aspx'>can</a>"
                                            Padding="6"
                                            />
                                        <ext:Panel ID="Panel2" 
                                            runat="server" 
                                            Border="false" 
                                            Collapsed="true" 
                                            Icon="Star" 
                                            AutoScroll="true"
                                            Title="Activities" 
                                            Html="={text}"
                                            Padding="6"
                                            />
                                        <ext:Panel ID="Panel3" 
                                            runat="server" 
                                            Border="false" 
                                            Collapsed="true" 
                                            Icon="Group" 
                                            AutoScroll="true"
                                            Title="Contacts" 
                                            Html="={text}"
                                            Padding="6"
                                            />    
                                    </Items>                                    
                                </ext:AccordionLayout>
                            </Items>
                        </ext:Panel>
                    </West>
                    <Center MarginsSummary="5 5 5 0">
                       
                                <ext:Panel 
                                    ID="Tab1" 
                                    runat="server" 
                                    Title="Internet" 
                                    Icon="Vcard" 
                                    BodyStyle="background-color: transparent;"
                                    Layout="Fit">
                                    <Items>
                                        <ext:Portal 
                                            ID="Portal1" 
                                            runat="server" 
                                            Border="false" 
                                            BodyStyle="background-color: transparent;"
                                            Layout="Column">
                                            <Items>
                                                <ext:PortalColumn ID="PortalColumn1" 
                                                    runat="server" 
                                                    StyleSpec="padding:10px 0 10px 10px"
                                                    ColumnWidth=".33"
                                                                                                    
                                                    Layout="Anchor">
                                                    <Items>
                                                        <ext:Portlet 
                                                            ID="Portlet1" 
                                                            Title="Google Search" 
                                                            runat="server" 
                                                            Height="450"
                                                            Padding="0">
                                                           <%-- <AutoLoad Url="http://www.google.com/" Mode="IFrame" />--%>
                                                             <Items>
                        <ext:Panel ID="Panel4" runat="server" Border="false" Header="false" ColumnWidth=".5" Layout="Form">
                        <Defaults>
                            <ext:Parameter Name="AllowBlank" Value="false" Mode="Raw" />
                           <ext:Parameter Name="MsgTarget" Value="side" />
                        </Defaults>
                        <Items>
                            <ext:TextField ID="TextField11" runat="server" FieldLabel="My Name" Anchor="62%" />
                            <ext:TextField ID="TextField12" runat="server" FieldLabel="My Company" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField1" Name="dd" runat="server" FieldLabel="First Name" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField2" runat="server" FieldLabel="Company" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField3" runat="server" FieldLabel="First Name" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField4" runat="server" FieldLabel="Company" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField5" runat="server" FieldLabel="First Name" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField6" runat="server" FieldLabel="Company" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField7" runat="server" FieldLabel="First Name" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField8" runat="server" FieldLabel="Company" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField9" runat="server" FieldLabel="First Name" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField10" runat="server" FieldLabel="Company" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField13" runat="server" FieldLabel="First Name" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField14" runat="server" FieldLabel="Company" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField15" runat="server" FieldLabel="First Name" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField16" runat="server" FieldLabel="Company" AnchorHorizontal="62%" />
                        </Items>
                    </ext:Panel>
                                                              </Items>
                                                              <Buttons>
                                                                <ext:Button ID="Button1" runat="server" Text="Next"  />
                                                                </Buttons>
                                                        </ext:Portlet>
                                                        
                                                         <ext:Portlet 
                                                            ID="Portlet2" 
                                                            Title="Google Search" 
                                                            runat="server" 
                                                            Height="450"
                                                            Hidden="true"
                                                            Padding="0">
                                                           <%-- <AutoLoad Url="http://www.google.com/" Mode="IFrame" />--%>
                                                             <Items>
                        <ext:Panel ID="Panel5" runat="server" Border="false" Header="false" ColumnWidth=".5" Layout="Form">
                        <Defaults>
                            <ext:Parameter Name="AllowBlank" Value="false" Mode="Raw" />
                           <ext:Parameter Name="MsgTarget" Value="side" />
                        </Defaults>
                        <Items>
                            <ext:TextField ID="TextField17" runat="server" FieldLabel="UR Name" Anchor="62%" />
                            <ext:TextField ID="TextField18" runat="server" FieldLabel="UR Company" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField19" runat="server" FieldLabel="Last Name" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField20" runat="server" FieldLabel="Address" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField21" runat="server" FieldLabel="Gender" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField22" runat="server" FieldLabel="Company" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField23" runat="server" FieldLabel="First Name" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField24" runat="server" FieldLabel="Company" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField25" runat="server" FieldLabel="First Name" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField26" runat="server" FieldLabel="Company" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField27" runat="server" FieldLabel="First Name" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField28" runat="server" FieldLabel="Company" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField29" runat="server" FieldLabel="First Name" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField30" runat="server" FieldLabel="Company" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField31" runat="server" FieldLabel="First Name" AnchorHorizontal="62%" />
                            <ext:TextField ID="TextField32" runat="server" FieldLabel="Company" AnchorHorizontal="62%" />
                        </Items>
                    </ext:Panel>
                                                              </Items>
                                                               <Buttons>
                                                                <ext:Button ID="Button2" runat="server" Text="Next"  />
                                                                </Buttons>
                                                        </ext:Portlet>
                                                    </Items>
                                                     
                                                </ext:PortalColumn>
                                               
                                            </Items>
                                        </ext:Portal>
                                    </Items>
                                </ext:Panel>
                               
                    </Center>
                </ext:BorderLayout>
            </Items>
        </ext:Viewport>
    one more thing i need to place ResourceManager in Control page as i am fetching some css but during runtime it gives error more tham one ResourceManager so i tried to put ResourceManager only in main page but in that case controls in this page gives error as they r not able to access ResourceManager. How to fix it ?
    Last edited by ranjit2k99; May 27, 2011 at 1:06 PM. Reason: put Code tags
  6. #6
    Please wrap the code in [CODE] tags, use Edit Post button.

    See also
    Forum Guidelines For Posting New Topics
    More Information Required
  7. #7

    Other way of loading Placeholder is alos not working

    i tried this one also but result is same blank page

    protected void Menu3_Click(object sender, DirectEventArgs e)
        {
                   vwnew.Hidden = true;
                   this.PlaceHolder1.Controls.Add(LoadControl("CanProfile.ascx"));
           
         }
    or

    protected void Menu3_Click(object sender, DirectEventArgs e)
        {
                   vwnew.Hidden = true;
                   this.PlaceHolder1.Controls.Add(LoadControl("CanProfile.ascx"));
                   this.PlaceHolder1.Update();
           
         }
  8. #8
    Thanks for the wrapping in [CODE] tags.

    Regarding the question.

    Please try to wrap PlaceHolder1 in <ext:Container> and call .UpdateContent() for that container.
  9. #9

    Still getting blank page

    Hi

    i added placeholder in wrapper like this

    <ext:Container ID="cont" runat="server">   
           <Content>
        <asp:PlaceHolder ID="PlaceHolder1" runat="server" />
        </Content>   
        </ext:Container>
    and call it like this

    protected void Menu3_Click(object sender, DirectEventArgs e)
        {
                  vwnew.Hidden = true;
                   cont.ContentContainer.Controls.Add(LoadControl("CanProfile.ascx"));
                   cont.Update();
         }
    but still blank page
    Last edited by geoffrey.mcgill; May 27, 2011 at 7:00 PM.
  10. #10
    Hi ranjit2k99,

    In your last post above, there were some links to "daemon tools" and a couple other spam related sites. Did you add those links?
    Geoffrey McGill
    Founder
Page 1 of 3 123 LastLast

Similar Threads

  1. Replies: 2
    Last Post: Nov 04, 2011, 12:33 AM
  2. Replies: 5
    Last Post: Sep 08, 2010, 9:14 AM
  3. load usercontrol in viewport
    By maxdiable in forum 1.x Help
    Replies: 1
    Last Post: Jul 28, 2010, 11:01 PM
  4. Load usercontrol by AjaxEvents
    By latif in forum 1.x Help
    Replies: 4
    Last Post: Dec 15, 2009, 3:22 PM
  5. Replies: 9
    Last Post: Apr 29, 2009, 8:12 PM

Tags for this Thread

Posting Permissions