protected override void CreateChildControls() { if (this.ContextNode == null) { return; } if (ShowExecutionTime) { Timer.Start(); } System.Web.UI.Control control = null; try { var viewHead = NodeHead.Get(ControlPath); if (viewHead != null && SecurityHandler.HasPermission(viewHead, PermissionType.RunApplication)) { control = Page.LoadControl(ControlPath); this.Controls.Add(control); } } catch (Exception ex) { SnLog.WriteException(ex); this.Controls.Add(new System.Web.UI.LiteralControl(ex.Message)); return; } if (control == null) { return; } _workspaceIsWallContainer = control.FindControlRecursive("WorkspaceIsWallContainer") as PlaceHolder; var portletContextNodeLink = control.FindControlRecursive("PortletContextNodeLink") as System.Web.UI.WebControls.HyperLink; var configureWorkspaceWall = control.FindControlRecursive("ConfigureWorkspaceWall") as Button; if (_workspaceIsWallContainer != null && configureWorkspaceWall != null) { _workspaceIsWallContainer.Visible = false; var ws = this.ContextNode as Workspace; if (ws != null && !ws.IsWallContainer && ws.Security.HasPermission(PermissionType.Save)) { _workspaceIsWallContainer.Visible = true; if (portletContextNodeLink != null) { portletContextNodeLink.Text = System.Web.HttpUtility.HtmlEncode(Content.Create(ws).DisplayName); portletContextNodeLink.NavigateUrl = ws.Path; } configureWorkspaceWall.Click += ConfigureWorkspaceWall_Click; } } var postsPlaceholder = control.FindControlRecursive("Posts"); List <PostInfo> posts; var postInfos = GatherPosts(); posts = postInfos == null ? new List <PostInfo>() : postInfos.Take(PageSize).ToList(); postsPlaceholder.Controls.Add(new Literal { Text = WallHelper.GetWallPostsMarkup(this.ContextNode.Path, posts) }); if (ShowExecutionTime) { Timer.Stop(); } base.CreateChildControls(); this.ChildControlsCreated = true; }