Access properties of dynamic content items
The following articles demonstrates how to access properties of the Model in the dynamic content MVC views.
Each dynamic model is bound to DynamicContentItem that holds the properties of the dynamic content items. You can get or set the related data, fields, or call MVC helper methods that populate the views.
Access related data field
If your dynamic content type has a related data field, you can access it through Model.Item.Fields.<RelatedDataFieldName>
For example, in the sandbox, you can see how the Country detail view is accessing the MainPicture related data field. Refer to the following code sample:
@*Start MainPicture field*@
@if(Model.Item.Fields.MainPicture != null)
{
<img src='@Model.Item.Fields.MainPicture.Fields.MediaUrl' alt='@Model.Item.Fields.MainPicture.Fields.AlternativeText' title='@Model.Item.Fields.MainPicture.Fields.Title' />
}
@*End MainPicture field*@
Directly access the properties of the DynamicContentItem
You can get the basic properties of the dynamic content item, such as PublicationDate, Location, Description, using Model.Item.Fields.<PropertyName>
Build a link to an item's details page
To build a link to an item's auto-generated or dedicated details page from a list view, you need two things:
- The base page URL:
- If the widget is configured to open items on an Auto-generated page (
OpenInSamePage), the base page is the current page, where the list widget is placed. - If the widget is configured to open items on a Selected existing page… (
DetailsPageId), the base page is that selected page. For more information, see Dynamic content widgets » Single item settings tab.
- If the widget is configured to open items on an Auto-generated page (
- The item's
UrlNamesegment, appended to the base page URL. All Sitefinity CMS content items have aUrlName, which Sitefinity CMS uses to resolve theDetailsaction for the item. For more information, see Implement Master Detail content controllers » Detail.