Interface IPublishedProperty
Represents a property of an IPublishedElement
.
Namespace: Umbraco.Cms.Core.Models.PublishedContent
Assembly: Umbraco.Core.dll
Syntax
public interface IPublishedProperty
Properties
View SourceAlias
Gets the alias of the property.
Declaration
string Alias { get; }
Property Value
Type | Description |
---|---|
System.String |
PropertyType
Declaration
IPublishedPropertyType PropertyType { get; }
Property Value
Type | Description |
---|---|
IPublishedPropertyType |
Methods
View SourceGetDeliveryApiValue(Boolean, String, String)
Gets the object value of the property for Delivery API representation.
Declaration
object GetDeliveryApiValue(bool expanding, string culture = null, string segment = null)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | expanding | |
System.String | culture | |
System.String | segment |
Returns
Type | Description |
---|---|
System.Object |
Remarks
The value is what you want to use when rendering content through the Delivery API.
It can be null, or any type of CLR object.
It has been fully prepared and processed by the appropriate converter.
GetSourceValue(String, String)
Gets the source value of the property.
Declaration
object GetSourceValue(string culture = null, string segment = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | culture | |
System.String | segment |
Returns
Type | Description |
---|---|
System.Object |
Remarks
The source value is whatever was passed to the property when it was instantiated, and it is somewhat implementation-dependent -- depending on how the IPublishedCache is implemented.
The XmlPublishedCache source values are strings exclusively since they come from the Xml cache.
For other caches that get their source value from the database, it would be either a string, an integer (Int32), a date and time (DateTime) or a decimal (double).
If you're using that value, you're probably wrong, unless you're doing some internal Umbraco stuff.
GetValue(String, String)
Gets the object value of the property.
Declaration
object GetValue(string culture = null, string segment = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | culture | |
System.String | segment |
Returns
Type | Description |
---|---|
System.Object |
Remarks
The value is what you want to use when rendering content in an MVC view ie in C#.
It can be null, or any type of CLR object.
It has been fully prepared and processed by the appropriate converter.
GetXPathValue(String, String)
Gets the XPath value of the property.
Declaration
object GetXPathValue(string culture = null, string segment = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | culture | |
System.String | segment |
Returns
Type | Description |
---|---|
System.Object |
Remarks
The XPath value is what you want to use when navigating content via XPath eg in the XSLT engine.
It must be either null, or a string, or an XPathNavigator.
It has been fully prepared and processed by the appropriate converter.
HasValue(String, String)
Gets a value indicating whether the property has a value.
Declaration
bool HasValue(string culture = null, string segment = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | culture | |
System.String | segment |
Returns
Type | Description |
---|---|
System.Boolean |
Remarks
This is somewhat implementation-dependent -- depending on whatever IPublishedCache considers a missing value.
The XmlPublishedCache raw values are strings, and it will consider missing, null or empty (and that includes whitespace-only) strings as "no value".
Other caches that get their raw value from the database would consider that a property has "no value" if it is missing, null, or an empty string (including whitespace-only).