protected virtual void BuildResultView() { Content rootContent = null; Exception controlException = null; try { // Elevation: it should be possible to search for content // under a folder where the user does not have explicit // permissions but on one of the child content may have. using (new SystemAccount()) { rootContent = GetModel() as Content; } if (rootContent != null) { rootContent.ChildrenDefinition.AllChildren = AllChildren; } } catch (Exception ex) { Logger.WriteException(ex); controlException = ex; } var model = new ContentCollectionViewModel { State = this.State }; var childCount = 0; if (rootContent != null) { try { childCount = rootContent.Children.Count(); } catch (Exception ex) { Logger.WriteException(ex); if (controlException == null) { controlException = ex; } } } try { model.Pager = GetPagerModel(childCount, State, string.Empty); model.Content = rootContent; } catch (Exception ex) { Logger.WriteException(ex); if (controlException == null) { controlException = ex; } //in case of error, set dummy pager model model.Pager = new PagerModel(0, State, string.Empty); } try { if (RenderingMode == RenderMode.Xslt) { XmlModelData = model.ToXPathNavigator(); } else { var viewPath = RenderingMode == RenderMode.Native ? "/root/Global/Renderers/ContentCollectionView.ascx" : Renderer; Control presenter = null; try { presenter = Page.LoadControl(viewPath); } catch (Exception ex) { Logger.WriteException(ex); if (controlException == null) { controlException = ex; } } if (presenter != null) { Controls.Add(presenter); PresenterClientId = presenter.ClientID; var ccView = presenter as ContentCollectionView; if (ccView != null) { ccView.Model = model; } if (rootContent != null) { var itemlist = presenter.FindControl(ContentListID); if (itemlist != null) { try { ContentQueryPresenterPortlet.DataBindingHelper.SetDataSourceAndBind(itemlist, rootContent. Children); } catch (Exception ex) { Logger.WriteException(ex); if (controlException == null) { controlException = ex; } } } itemlist = presenter.FindControl("ViewDatasource"); if (itemlist != null) { try { ContentQueryPresenterPortlet.DataBindingHelper.SetDataSourceAndBind(itemlist, rootContent.Children); } catch (Exception ex) { Logger.WriteException(ex); if (controlException == null) { controlException = ex; } } } } var itemPager = presenter.FindControl("ContentListPager"); if (itemPager != null) { try { ContentQueryPresenterPortlet.DataBindingHelper.SetDataSourceAndBind(itemPager, model.Pager.PagerActions); } catch (Exception ex) { Logger.WriteException(ex); if (controlException == null) { controlException = ex; } } } } } } catch (Exception ex) { Logger.WriteException(ex); if (controlException == null) { controlException = ex; } } try { if (controlException != null) { BuildErrorMessage(controlException); } } catch (Exception ex) { var errorText = SNSR.GetString(SNSR.Portlets.ContentCollection.ErrorLoadingContentView, HttpUtility.HtmlEncode(ex.Message)); this.Controls.Clear(); this.Controls.Add(new LiteralControl(errorText)); } }
protected virtual void BuildResultView() { Content modelData; try { modelData = GetModel() as Content; } catch (Exception ex) { Logger.WriteException(ex); Controls.Clear(); Controls.Add(new LiteralControl("ContentView error: " + ex.Message)); return; } if (modelData != null) { modelData.AllChildren = AllChildren; } var model = new ContentCollectionViewModel { State = this.State }; var childCount = modelData != null ? modelData.ChildCount : 0; var pm = new PagerModel(childCount, State, string.Empty); model.Pager = pm; model.Content = modelData; if (RenderingMode == RenderMode.Xslt) { try { XmlModelData = model.ToXPathNavigator(); } catch (Exception ex) { Logger.Write(ex.ToString()); Logger.WriteException(ex); } } else { var viewPath = RenderingMode == RenderMode.Native ? "/root/Global/Renderers/ContentCollectionView.ascx" : Renderer; var presenter = Page.LoadControl(viewPath); Controls.Add(presenter); PresenterClientId = presenter.ClientID; if (presenter is ContentCollectionView) { ((ContentCollectionView)presenter).Model = model; } if (modelData != null) { var itemlist = presenter.FindControl(ContentListID); if (itemlist != null) { ContentQueryPresenterPortlet.DataBindingHelper.SetDataSourceAndBind(itemlist, modelData.Children); } itemlist = presenter.FindControl("ViewDatasource"); if (itemlist != null) { ContentQueryPresenterPortlet.DataBindingHelper.SetDataSourceAndBind(itemlist, modelData.Children); } } var itemPager = presenter.FindControl("ContentListPager"); if (itemPager != null) { ContentQueryPresenterPortlet.DataBindingHelper.SetDataSourceAndBind(itemPager, model.Pager.PagerActions); } } }
protected virtual void BuildResultView() { Content modelData; try { modelData = GetModel() as Content; } catch (Exception ex) { Logger.WriteException(ex); Controls.Clear(); Controls.Add(new LiteralControl("ContentView error: " + ex.Message)); return; } if (modelData != null) modelData.AllChildren = AllChildren; var model = new ContentCollectionViewModel {State = this.State}; var childCount = modelData != null ? modelData.ChildCount : 0; var pm = new PagerModel(childCount, State, string.Empty); model.Pager = pm; model.Content = modelData; if (RenderingMode == RenderMode.Xslt) { try { XmlModelData = model.ToXPathNavigator(); } catch (Exception ex) { Logger.Write(ex.ToString()); Logger.WriteException(ex); } } else { var viewPath = RenderingMode == RenderMode.Native ? "/root/Global/Renderers/ContentCollectionView.ascx" : Renderer; var presenter = Page.LoadControl(viewPath); Controls.Add(presenter); PresenterClientId = presenter.ClientID; if (presenter is ContentCollectionView) { ((ContentCollectionView) presenter).Model = model; } if (modelData != null) { var itemlist = presenter.FindControl(ContentListID); if (itemlist != null) { ContentQueryPresenterPortlet.DataBindingHelper.SetDataSourceAndBind(itemlist, modelData.Children); } itemlist = presenter.FindControl("ViewDatasource"); if (itemlist != null) { ContentQueryPresenterPortlet.DataBindingHelper.SetDataSourceAndBind(itemlist, modelData.Children); } } var itemPager = presenter.FindControl("ContentListPager"); if (itemPager != null) { ContentQueryPresenterPortlet.DataBindingHelper.SetDataSourceAndBind(itemPager, model.Pager.PagerActions); } } }