[CLOSED] Dynamic Portal

  1. #1

    [CLOSED] Dynamic Portal

    Hi,

    I am trying to create portal dynamically from code-behind. But nothing shows up on screen. Please let me know why is it not rendering.

    Markup:

    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <ext:ResourceManager ID="ResourceManager1" runat="server" />
        <ext:Viewport ID="viewport1" runat="server" Layout="BorderLayout">
            <Items>
                <ext:Portal ID="portalColumns" runat="server" Border="false" Layout="ColumnLayout"
                    AutoDoLayout="True" Region="Center" />
                    <%--<Listeners>
                        <Drop Fn="UpdateWidgetPositions" />
                    </Listeners>
                </ext:Portal>--%>
            </Items>
        </ext:Viewport>
        </form>

    Code-behind:
    #region Events
            protected override void OnLoad(EventArgs e)
            {
                base.OnLoad(e);
                if (!Page.IsPostBack)
                    LoadDashboard();
    
            }
            #endregion
    
            #region Methods
            private void LoadDashboard()
            {
                portalColumns.ClearContent();
                try
                {
                    clsDashboard dashboard = g_objNHSession.Load<clsDashboard>(DashboardID);
    
                    if (dashboard == null)
                    {
                        portalColumns.Html = "Your provided dashboard does not exist.";
                        return;
                    }
    
                    //if dashboard is private and belongs to other user then cannot see.
                    if (dashboard.AccessLevel.Equals('P') && dashboard.CreatedBy != CurrentUser.UserId)
                    {
                        portalColumns.Html = "You are not authorized to view this page.";
                        return;
                    }
    
                    //Generate Columns
                    IList<clsDashboardWidget> widgetList = dashboard.TDashboardsXWidgets.ToList<clsDashboardWidget>();
    
                    for (int colIndex = 0; colIndex < dashboard.DColumns; colIndex++)
                    {
                        PortalColumn column = new PortalColumn(new PortalColumn.Config(){ Layout = "Anchor", ColumnWidth = 1.0 / dashboard.DColumns });
                        column.LoadContent();
                        var widgets = from n in widgetList
                                      where n.ColumnPosition == colIndex
                                      orderby n.RowIndex
                                      select n;
                        foreach (clsDashboardWidget dbwidget in widgets.ToList<clsDashboardWidget>())
                        {
                            Portlet portlet = new Portlet(new Portlet.Config(){ Frame = true, Height = 200, Title = string.Format("{0}:{1}", dbwidget.DxwId, dbwidget.Widget.WName)});
                            portlet.LoadContent();
                            column.Add(portlet);
                            column.DoLayout();
                        }
                        portalColumns.Items.Add(column);
                    }
                }
                catch (Exception)
                {
                    throw;
                }
            }
            #endregion
    Last edited by Daniil; Jun 20, 2012 at 10:54 AM. Reason: Please use [CODE] tags, [CLOSED]
  2. #2
    Hi,

    I think you should not call
    portalColumns.ClearContent();
    column.LoadContent();
    portlet.LoadContent();
    column.DoLayout();
    Please remove these lines.

    Here is the simple example.

    Example
    <%@ Page 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)
            {
                PortalColumn pc1 = this.GetPortalColumn(0.5);
                pc1.Items.Add(this.GetPortlet("Portlet1"));
                pc1.Items.Add(this.GetPortlet("Portlet2"));
                this.Portal1.Items.Add(pc1);
    
                PortalColumn pc2 = this.GetPortalColumn(0.5);
                pc2.Items.Add(this.GetPortlet("Portlet3"));
                pc2.Items.Add(this.GetPortlet("Portlet4"));
                this.Portal1.Items.Add(pc2);
            }
        }
    
        private PortalColumn GetPortalColumn(double columnWidth)
        {
            PortalColumn pc = new PortalColumn()
            {
                ColumnWidth = columnWidth,
                Layout = "anchor"
            };
    
            return pc;
        }
    
        private Portlet GetPortlet(string title)
        {
            Portlet p = new Portlet()
            {
                Title = title,
                Height = 200
            };
    
            return p;
        }
    </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>
        <ext:ResourceManager runat="server" />
        <ext:Viewport runat="server" Layout="BorderLayout">
            <Items>
                <ext:Portal 
                    ID="Portal1" 
                    runat="server"
                    Region="Center"
                    Layout="ColumnLayout" />
            </Items>
        </ext:Viewport>
    </body>
    </html>

Similar Threads

  1. [CLOSED] [1.0]Moving Portlet from Portal to Portal
    By betamax in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: May 21, 2010, 11:47 AM
  2. Replies: 7
    Last Post: May 12, 2010, 5:55 PM
  3. Dynamic portal and portlets in code behind
    By Sofficino in forum 1.x Help
    Replies: 1
    Last Post: Jun 08, 2009, 4:42 AM
  4. Need help setting the Height on Dynamic Portal/Portlet
    By iansriley in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Mar 03, 2009, 5:38 AM
  5. Dynamic Portal Creation
    By iansriley in forum 1.x Legacy Premium Help
    Replies: 0
    Last Post: Jan 21, 2009, 5:53 PM

Tags for this Thread

Posting Permissions