SiteMapNode.GetExplicitResourceString(String, String, Boolean) Method


Retrieves a localized string based on a SiteMapNode attribute to localize, a default string to return if no resource is found, and a Boolean value indicating whether to throw an exception if no resource is found.

 System::String ^ GetExplicitResourceString(System::String ^ attributeName, System::String ^ defaultValue, bool throwIfNotFound);
protected string GetExplicitResourceString (string attributeName, string defaultValue, bool throwIfNotFound);
member this.GetExplicitResourceString : string * string * bool -> string
Protected Function GetExplicitResourceString (attributeName As String, defaultValue As String, throwIfNotFound As Boolean) As String



The SiteMapNode attribute to localize.


The default value to return if a matching resource is not found.


true to throw an InvalidOperationException, if an explicit resource is defined for attributeName, defaultValue is null, and a localized value is not found; otherwise, false.



A string representing the localized attribute.


attributeName is null.

A matching resource object was not found and throwIfNotFound is true.


The GetExplicitResourceString method is invoked in the get accessor of the Title property, the Description property, and any custom attributes that are defined in the Attributes property. The SiteMapProvider object by which the SiteMapNode is tracked must have its EnableLocalization property set to true for the GetExplicitResourceString method to return a localized string. If the EnableLocalization is set to false, localization is not performed and the GetExplicitResourceString method is never called.

The Title property, the Description property, and any custom attributes that are defined in the Attributes property first invoke the GetImplicitResourceString method. If it returns null, the GetExplicitResourceString method is invoked with defaultValue set to the value of the default value from the explicit resource expression (assuming one was defined) and throwIfNotFound set to true.


The XmlSiteMapProvider class imposes the restriction that the SiteMapNode object cannot define both implicit resource expressions and explicit resource expressions for attributes. However, a custom provider implementation can choose to allow both.

The GetExplicitResourceString method uses the NameValueCollection collection of resource keys that the SiteMapNode object was initialized with. If a collection of resource keys was not specified, the GetExplicitResourceString returns null.

Applies to

See also