Try our conversational search powered by Generative AI!
AI OnAI Off
using System;
using System.Web.UI;
using EPiServer;
namespace Unctad.Web.Templates.Units
{
public partial class ListingWithPaging : UserControlBase
{
private void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string _pageType;
_pageType = (string)CurrentPage["ListingType"];
switch (_pageType)
{
case "3":/* Statements of the S-G */
Control c1 = LoadControl("ListingSGStatements.ascx");
Controls.Add(c1);
break;
case "News": /* News */
Control c2 = LoadControl("ListingNews.ascx");
Controls.Add(c2);
break;
case "Highlight":/* Highlight */
Control c3 = LoadControl("ListingHighlights.ascx");
Controls.Add(c3);
break;
case "Event":/* Events */
Control c4 = LoadControl("ListingEvents.ascx");
Controls.Add(c4);
break;
case "Webflyer":/* Document */
Control c5 = LoadControl("ListingDocuments.ascx");
Controls.Add(c5);
break;
case "Ordinary web page":
case "PressRelease":/* Press */
case "BoardAction":/* Board Actions */
default:/* Ordinary Pages */
Control c8 = LoadControl("ListingPages.ascx");
Controls.Add(c8);
break;
}
if (!IsValue("ListingContainer"))
{
Controls.Clear();
return;
}
}
}
It seems to work although it might not be as elegant as the solution you provided. I will try to apply this solution instead. Thanks again.
Victor
<%-- --%>
<%#Container.CurrentPage.PageName%>
(<%#((DateTime)Container.CurrentPage["PageStartPublish"]).ToString("yyyy-MM-dd hh:mm")%>)
<%#Container.PreviewText%>
<%-- --%>
...[etc]
ascx.cs
using System;
using EPiServer;
using EPiServer.Core;
using EPiServer.WebControls;
namespace Unctad.Web.Templates.Units
{
public partial class ListingWithPaging : UserControlBase
{
private void Page_Load(object sender, EventArgs e)
{
PagingControl customPaging = new PagingControl();
customPaging.NextPagingItemText = "Next";
customPaging.PrevPagingItemText = "Previous";
PageListControl.PagingControl = customPaging;
NewsListControl.PagingControl = customPaging;
DocumentListControl.PagingControl = customPaging;
PageListControl.DataBind();
NewsListControl.DataBind();
DocumentListControl.DataBind();
if (!IsPostBack)
{
string _pageType;
_pageType = (string)CurrentPage["ListingType"];
switch (_pageType)
{
//case "3":/* Statements of the S-G */
// break;
case "News": /* News */
ucMultiView.SetActiveView(viewNews);
break;
case "Highlight":/* Highlight */
ucMultiView.SetActiveView(viewDocuments);
break;
case "Event":/* Events */
ucMultiView.SetActiveView(viewEvents);
break;
//case "PressRelease":/* Press */
// break;
//case "BoardAction":/* Board Actions */
// break;
case "SGStatement":/* Statements of the S-G */
case "Ordinary web page":
case "PressRelease":/* Press */
case "BoardAction":/* Board Actions */
default:/* Ordinary Pages */
ucMultiView.SetActiveView(viewPages);
break;
}
}
}
protected int GetCount()
{
if (!IsValue("ListingCount"))
return -1;
return (int)CurrentPage["ListingCount"];
}
protected static string GetNewsThumbnailImage(PageData pd)
{
return pd["ThumbnailNews"] != null ? Global.EPConfig.HostUrl + pd["ThumbnailNews"] : Global.EPConfig.HostUrl + "/upload/img/news/thumbnails/news_en.gif";
}
protected static string GetThumbnailImage(PageData pd)
{
return pd["Image55x74"] != null ? Global.EPConfig.HostUrl + pd["Image55x74"] : Global.EPConfig.HostUrl + "/upload/img/pub/medium/unctad_doc.gif";
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
The upside would be that you quite easily can manage new pagetypes without having to make
modifications to codebehind.
Regards,
Johan Olofsson
EPiServer AB
private void Page_Load(object sender, EventArgs e) { if (IsValue("ListingType")) { _pageType = (string) CurrentPage["ListingType"]; switch (_pageType) { case "3":/* Statements of the S-G */ DocumentListControl.PageTypeID = Convert.ToInt32(_pageType); PageListControl.Visible = false; NewsListControl.Visible = false; DocumentListControl.Visible = false; HighlightListControl.Visible = true; break; case "17": /* News */ NewsListControl.PageTypeID = Convert.ToInt32(_pageType); PageListControl.Visible = false; NewsListControl.Visible = true; DocumentListControl.Visible = false; HighlightListControl.Visible = false; EventsListControl.Visible = false; break; case "18":/* Highlight */ DocumentListControl.PageTypeID = Convert.ToInt32(_pageType); PageListControl.Visible = false; NewsListControl.Visible = false; DocumentListControl.Visible = false; HighlightListControl.Visible = true; EventsListControl.Visible = false; break; case "28":/* Events */ DocumentListControl.PageTypeID = Convert.ToInt32(_pageType); PageListControl.Visible = false; NewsListControl.Visible = false; DocumentListControl.Visible = false; HighlightListControl.Visible = true; EventsListControl.Visible = true; break; case "36":/* Document */ DocumentListControl.PageTypeID = Convert.ToInt32(_pageType); PageListControl.Visible = false; NewsListControl.Visible = false; DocumentListControl.Visible = true; HighlightListControl.Visible = false; EventsListControl.Visible = false; break; case "7": case "44":/* Press */ case "45":/* Board Actions */ default:/* Ordinary Pages */ PageListControl.PageTypeID = 7; PageListControl.Visible = true; NewsListControl.Visible = false; DocumentListControl.Visible = false; HighlightListControl.Visible = false; break; } }
ASPX Code<%#container.previewtext%> %#container.previewtext%>