Using the Umbraco Helper
UmbracoHelper is the unified way to work with published content/media on your website. You can use the UmbracoHelper to query/traverse Umbraco published data.
UmbracoHelper also has a variety of helper methods that are useful when working in your views and controllers.
If you are using Views or Partial View Macros you can reference UmbracoHelper with the syntax: @Umbraco
If you need an UmbracoHelper
in your own controllers, you need to inject an instance.
Example of getting UmbracoHelper
in a controller:
UmbracoHelper is registered with a scoped lifetime (see Microsoft documentation for more information), as a service scope is created for each request you can resolve an instance directly in a controller.
If you need to use an UmbracoHelper in a service with a singleton lifetime you would instead need to make use of the IUmbracoHelperAccessor interface to obtain a temporary reference to an instance.
UmbracoHelper will expose all content in the form of IPublishedContent
. To get a reference to the currently executing content item from the UmbracoHelper, use UmbracoHelper.AssignedContentItem
.
The samples below demonstrate using UmbracoHelper
in Razor. Working with the UmbracoHelper
will be the same in controllers, except for the fact that you must resolve it with IUmbracoHelperAccessor
like shown above.
Given a node ID, returns a IPublishedContent
Returns a collection of IPublishedContent
objects from the Content tree.
The current implementation of XPath is suboptimal, marked as obsolete, and scheduled for removal in Umbraco 14. The replacement for ContentXPath is IContentLastChanceFinder.
Queries the cache for content matching a given XPath query and returns a collection of IPublishedContent
objects.
Queries the cache for content matching a given XPath query and returns the first match as an IPublishedContent
object.
Given a node ID, returns an IPublishedContent
Media entity
Returns a collection of IPublishedContent
objects from the Media tree.
Previously the UmbracoHelper
could be used to work with tags, this has been moved out of UmbracoHelper
and is now available from ITagQuery
which you can read more about in the ITagQuery document.
Previously the UmbracoHelper
could be used to work with members, this has ben moved out of UmbracoHelper
and is now available from IMemberManager
, see IMemberManager for more information
Previously the UmbracoHelper
could be used to run queries on your content, this has been moved out of UmbracoHelper
and is now available from IPublishedContentQuery
, see IPublishedContentQuery for more information.
Returns a dictionary value(string
) for the key specified.
Alternatively, you can also specify an altText
which will be returned if the dictionary value is empty.
Renders a macro in the current page content, given the macro's alias, and parameters required by the macro.
Renders a template asynchronously, as if a page with the given contentId was requested, optionally with an alternative template ID passed in.