Class PageView
- Namespace
- Dynamicweb.Frontend
- Assembly
- Dynamicweb.dll
The pageview object represents the current frontend pageview, the object that handles Default.aspx and all frontend page views.
public class PageView
- Inheritance
-
PageView
- Inherited Members
Remarks
Use the PageView.Current to access the instance from any code block that is run in the pageview context.
Constructors
PageView()
Initializes a new instance of the PageView class.
public PageView()
Remarks
Use Current() or PageView.GetPageviewByPageID to get an instance.
Properties
Area
public Area Area { get; }
Property Value
- Area
The area.
AreaID
The ID of the Area or website of this instance of pageview object.
public int AreaID { get; set; }
Property Value
AreaSettings
Gets an ItemViewModel instance of this pageviews area setting item.
public ItemViewModel AreaSettings { get; }
Property Value
Remarks
Returns null
until the Load() method has been executed.
BeforeBodyEndMarkup
String in this property is inserted before the pageview is outputted - string is inserted just before the closing body tag.
public StringBuilder BeforeBodyEndMarkup { get; set; }
Property Value
Remarks
Can be used to insert script tags before the body tag. If no closing body tag is available, the string is not inserted NOTE: Do not override this variable. Add your string to the current value.
CdnHostName
Gets the name of the CDN hostname from the website settings or global settings.
public string CdnHostName { get; }
Property Value
- string
The name of the CDN host.
CdnHostNameForImage
Gets the name of the CDN GetImage hostname from the website settings or global settings.
public string CdnHostNameForImage { get; }
Property Value
- string
The CDN host name for get image.
Context
public PageViewContext Context { get; set; }
Property Value
CurrentParagraph
Gets the current paragraph being rendered.
public Paragraph CurrentParagraph { get; }
Property Value
- Paragraph
Will be
null
if a paragraph is not being rendered.
Remarks
Should only be used from objects in the context of a paragraph. I.e. a paragraph template extender, product template extender or content module.
Device
Gets the DeviceType of the current request based on the User agent string of the browser.
public DeviceType Device { get; }
Property Value
Execution
Gets the ExecutionTable of the pageview. Used internally to measure time spend on renderers.
public ExecutionTable Execution { get; set; }
Property Value
Remarks
Should not be used.
ExperimentVariation
Gets the experiment variation of this pageview if the page has experiments.
public int ExperimentVariation { get; }
Property Value
Remarks
If page does not have experiments, 0 is returned. If original needs to be show, 1 is returned. Otherwise the ID of the variation
GlobalTags
Gets a collection of the global tags available for this pageview instance.
public TagCollection GlobalTags { get; }
Property Value
- TagCollection
The global tags collection in a TagCollection.
Remarks
Used from Razor templates to get access to Global tags. Should not be used in context of a layout using the PageViewModel instance to render.
ID
Page ID of this instance of pageview object.
public int ID { get; set; }
Property Value
IsCurrentUserAllowed
public bool IsCurrentUserAllowed { get; }
Property Value
IsCurrentUserPermissionAllowed
public bool IsCurrentUserPermissionAllowed { get; set; }
Property Value
IsEmailContext
Gets or sets a value indicating whether this instance is email context.
public bool IsEmailContext { get; set; }
Property Value
- bool
true
if this instance is in the context of sending out an email; otherwise,false
.
Remarks
Used by Email marketing to send out pages as email.
IsLocked
public bool IsLocked { get; }
Property Value
IsVisualEditorMode
public bool IsVisualEditorMode { get; }
Property Value
Layout
Gets the layout of this pageview.
public Layout Layout { get; }
Property Value
- Layout
The layout.
Remarks
This layout template is set on the page or website properties from the administration. Not set until PageView.Load have been executed.
Meta
Gets the Meta instance of the current pageview object.
public Meta Meta { get; set; }
Property Value
Page
Gets the Page being rendered in the instance of this pageview.
public Page Page { get; }
Property Value
- Page
The page.
Platform
Gets the PlatformType of the current request based on the User agent string of the browser.
public PlatformType Platform { get; }
Property Value
Redirect
Gets or sets a value indicating whether this PageView are allowed to do redirect.
public bool Redirect { get; set; }
Property Value
- bool
true
if redirects are allowed; otherwise,false
.
Remarks
If this property is set to false, Dynamicweb will not redirect to i.e. search friendly url version of the same page. Use PageView.GetPageviewByPageID to get an instance that does not redirect.
SearchFriendlyUrl
Gets the search friendly URL for this instance of the pageview.
public string SearchFriendlyUrl { get; }
Property Value
- string
The search friendly URL for the page currently being showed.
Remarks
The returned URL will contain any querystring information on the original url. Load() must be called before calling this.
Template
Gets the instance of the template object of the layout template.
public Template Template { get; }
Property Value
Remarks
Will be null
until the Load() has been called.
User
Gets the extranet user currently logged into the frontend.
public User User { get; }
Property Value
Remarks
If no user is logged in, null
is returned
Methods
AddJavascript(string)
Adds a JavaScript path to the pages scripts section in head.
public void AddJavascript(string javascript)
Parameters
javascript
stringThe JavaScript path reference.
AddStylesheet(string)
Adds a stylesheet path to the pages stylesheets section in head.
public void AddStylesheet(string stylesheet)
Parameters
stylesheet
stringThe stylesheet path reference.
AddStylesheet(string, string)
Adds a stylesheet path to the pages stylesheets section in head for a given media.
public void AddStylesheet(string stylesheet, string media)
Parameters
stylesheet
stringThe stylesheet reference.
media
stringThe media type. One of
print, screen, tv, all
or other valid css media type. Default isstring.empty
.
Current()
Gets the PageView object of the current pageview. This can only be called in a frontend context.
public static PageView Current()
Returns
- PageView
Returns null or nothing if not called from frontend or prior to Pageview.Load event has occured
Remarks
Should only be called from code executed in frontend. Use PageView.GetPageviewByPageID from backend code.
GetAreaByDomain()
Gets an instance of an area by the domain name of the current request.
public static Area GetAreaByDomain()
Returns
- Area
Dynamicweb.Content.Area.
Remarks
Uses the domain and primary domain information set on website properties to find the right area
GetAreaByDomain(string)
Gets an instance of an area by the paseed domain name.
public static Area GetAreaByDomain(string domain)
Parameters
domain
stringThe domain, i.e. 'www.dynamicweb.com'
Returns
- Area
Dynamicweb.Content.Area.
Remarks
Uses the domain and primary domain information set on website properties to find the right area
GetAreasByDomain()
Gets areas by the domain name of the current request.
public static IEnumerable<Area> GetAreasByDomain()
Returns
- IEnumerable<Area>
Dynamicweb.Content.Area.
Remarks
Uses the domain and primary domain information set on website properties to find the right area
GetContent()
Gets a collection of content for this pageview for each placeholder in the layout.
public ContentCollection GetContent()
Returns
- ContentCollection
System.Collections.Generic.IDictionary(Of System.String, System.String). The collection contains a key (the id of the placeholder) and the resulting html of the rendered paragraphs in a content placeholder including module output.
GetFeedContent()
Gets a feed string coming from the content section of the pageview.
public OutputResult GetFeedContent()
Returns
- OutputResult
A json string
GetPageViewModelOutput()
public OutputResult GetPageViewModelOutput()
Returns
GetPageviewAsTemplate(int, Dictionary<string, object>)
Creates a pageview, renders it and put the resulting markup into a template instance that can be used for further rendering. In the page that is being rendered, tags that will become available when this template is used for rendering, is accessible in the format {{tag.name}} Can be used to render a page and use the result for an email.
public static Template GetPageviewAsTemplate(int pageId, Dictionary<string, object> contextValues = null)
Parameters
pageId
intThe page to render and use as markup for the template
contextValues
Dictionary<string, object>Context parameters i.e. orderid
Returns
- Template
Template instance with the markup of the rendered page where tag placeholders ({{tag.name}}) is converted into regular template tags
GetPageviewByPageID(int)
Retrieves an instance of the pageview of page specified by page ID. Use PageView.Current for accessing the pageview instance in a frontend context.
public static PageView GetPageviewByPageID(int pageId)
Parameters
pageId
intID of a page.
Returns
Remarks
Returns a PageView object of that page specified by page ID
GetPageviewByPageID(int, bool)
Retrieves an instance of the pageview of page specified by page ID.
public static PageView GetPageviewByPageID(int pageId, bool useCache)
Parameters
pageId
intID of a page.
useCache
boolValue indicating whether to use internal cache of the PageView
Returns
GetPageviewModel()
public PageViewModel GetPageviewModel()
Returns
GetParagraphViewModels()
public IList<ParagraphViewModel> GetParagraphViewModels()
Returns
Load()
Loads the PageView object with data. Usually Dynamicweb handles this.
public OutputResult Load()
Returns
- OutputResult
A OutputResult indicating whether to process the pageview in its current state.
Remarks
Use Current(), or PageView.GetPageviewByPageID to get an instance.
Output()
Executes the pageview and parses all templates with content, modules and navigation.
public OutputResult Output()
Returns
- OutputResult
The parsed HTML output of the pageview. Normally no need to call this as it is handled by Dynamicweb.
SetCurrentParagraph(Paragraph)
public void SetCurrentParagraph(Paragraph paragraph)
Parameters
paragraph
Paragraph