SiteMapNode.GetExplicitResourceString(String, String, Boolean) Method

Definition

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.

protected:
 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

Parameters

attributeName
String

The SiteMapNode attribute to localize.

defaultValue
String

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

throwIfNotFound
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.

Returns

A string representing the localized attribute.

Exceptions

attributeName is null.

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

Remarks

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.

Note

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