Jun 13, 2012, 9:10 AM
[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:
Code-behind:
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]