GetExplicitResourceString Method

SiteMapNode.GetExplicitResourceString Method (String, String, Boolean)


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.

Namespace:   System.Web
Assembly:  System.Web (in System.Web.dll)

protected string GetExplicitResourceString(
	string attributeName,
	string defaultValue,
	bool throwIfNotFound


Type: System.String

The SiteMapNode attribute to localize.

Type: System.String

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

Type: System.Boolean

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.

Return Value

Type: System.String

A string representing the localized attribute.

Exception Condition

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.

.NET Framework
Available since 2.0
Return to top
© 2015 Microsoft