Suggérer une traduction
 
Suggestions d'autres utilisateurs :

progress indicator
Aucune autre suggestion.
Cliquez pour évaluer et commenter
MSDN
MSDN Library
Développement .NET
.NET Framework 4
Espaces de noms System.Web
System.Web.UI.WebControls
SiteMapPath, classe
Réduire tout/Développer tout Réduire tout
Affichage du contenu :  côte à côteAffichage du contenu : côte à côte
.NET Framework Class Library
SiteMapPath Class

Displays a set of text or image hyperlinks that enable users to more easily navigate a Web site, while taking a minimal amount of page space.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)
Visual Basic
Public Class SiteMapPath _
    Inherits CompositeControl
C#
public class SiteMapPath : CompositeControl
Visual C++
public ref class SiteMapPath : public CompositeControl
F#
type SiteMapPath =  
    class
        inherit CompositeControl
    end
ASP.NET
<asp:SiteMapPath />

The SiteMapPath type exposes the following members.

  NameDescription
Public methodSiteMapPathInitializes a new instance of the SiteMapPath class.
Top
  NameDescription
Public propertyAccessKeyGets or sets the access key that allows you to quickly navigate to the Web server control. (Inherited from WebControl.)
Protected propertyAdapterGets the browser-specific adapter for the control. (Inherited from Control.)
Public propertyAppRelativeTemplateSourceDirectoryGets or sets the application-relative virtual directory of the Page or UserControl object that contains this control. (Inherited from Control.)
Public propertyAttributesGets the collection of arbitrary attributes (for rendering only) that do not correspond to properties on the control. (Inherited from WebControl.)
Public propertyBackColorGets or sets the background color of the Web server control. (Inherited from WebControl.)
Public propertyBindingContainerInfrastructure. Gets the control that contains this control's data binding. (Inherited from Control.)
Public propertyBorderColorGets or sets the border color of the Web control. (Inherited from WebControl.)
Public propertyBorderStyleGets or sets the border style of the Web server control. (Inherited from WebControl.)
Public propertyBorderWidthGets or sets the border width of the Web server control. (Inherited from WebControl.)
Protected propertyChildControlsCreatedGets a value that indicates whether the server control's child controls have been created. (Inherited from Control.)
Public propertyClientIDGets the control ID for HTML markup that is generated by ASP.NET. (Inherited from Control.)
Public propertyClientIDModeGets or sets the algorithm that is used to generate the value of the ClientID property. (Inherited from Control.)
Protected propertyClientIDSeparatorGets a character value representing the separator character used in the ClientID property. (Inherited from Control.)
Protected propertyContextGets the HttpContext object associated with the server control for the current Web request. (Inherited from Control.)
Public propertyControlsGets a ControlCollection object that represents the child controls in a CompositeControl. (Inherited from CompositeControl.)
Public propertyControlStyleGets the style of the Web server control. This property is used primarily by control developers. (Inherited from WebControl.)
Public propertyControlStyleCreatedGets a value indicating whether a Style object has been created for the ControlStyle property. This property is primarily used by control developers. (Inherited from WebControl.)
Public propertyCssClassGets or sets the Cascading Style Sheet (CSS) class rendered by the Web server control on the client. (Inherited from WebControl.)
Public propertyCurrentNodeStyleGets the style used for the display text for the current node.
Public propertyCurrentNodeTemplateGets or sets a control template to use for the node of a site navigation path that represents the currently displayed page.
Public propertyDataItemContainerGets a reference to the naming container if the naming container implements IDataItemContainer. (Inherited from Control.)
Public propertyDataKeysContainerGets a reference to the naming container if the naming container implements IDataKeysControl. (Inherited from Control.)
Protected propertyDesignModeGets a value indicating whether a control is being used on a design surface. (Inherited from Control.)
Public propertyEnabledGets or sets a value indicating whether the Web server control is enabled. (Inherited from WebControl.)
Public propertyEnableThemingGets or sets a value indicating whether themes apply to this control. (Inherited from WebControl.)
Public propertyEnableViewStateGets or sets a value indicating whether the server control persists its view state, and the view state of any child controls it contains, to the requesting client. (Inherited from Control.)
Protected propertyEventsGets a list of event handler delegates for the control. This property is read-only. (Inherited from Control.)
Public propertyFontGets the font properties associated with the Web server control. (Inherited from WebControl.)
Public propertyForeColorGets or sets the foreground color (typically the color of the text) of the Web server control. (Inherited from WebControl.)
Public propertyHasAttributesGets a value indicating whether the control has attributes set. (Inherited from WebControl.)
Protected propertyHasChildViewStateGets a value indicating whether the current server control's child controls have any saved view-state settings. (Inherited from Control.)
Public propertyHeightGets or sets the height of the Web server control. (Inherited from WebControl.)
Public propertyIDGets or sets the programmatic identifier assigned to the server control. (Inherited from Control.)
Protected propertyIdSeparatorInfrastructure. Gets the character used to separate control identifiers. (Inherited from Control.)
Protected propertyIsChildControlStateClearedGets a value indicating whether controls contained within this control have control state. (Inherited from Control.)
Protected propertyIsEnabledGets a value indicating whether the control is enabled. (Inherited from WebControl.)
Protected propertyIsTrackingViewStateGets a value that indicates whether the server control is saving changes to its view state. (Inherited from Control.)
Protected propertyIsViewStateEnabledGets a value indicating whether view state is enabled for this control. (Inherited from Control.)
Protected propertyLoadViewStateByIDGets a value indicating whether the control participates in loading its view state by ID instead of index. (Inherited from Control.)
Public propertyNamingContainerGets a reference to the server control's naming container, which creates a unique namespace for differentiating between server controls with the same Control..::.ID property value. (Inherited from Control.)
Public propertyNodeStyleGets the style used for the display text for all nodes in the site navigation path.
Public propertyNodeTemplateGets or sets a control template to use for all functional nodes of a site navigation path.
Public propertyPageGets a reference to the Page instance that contains the server control. (Inherited from Control.)
Public propertyParentGets a reference to the server control's parent control in the page control hierarchy. (Inherited from Control.)
Public propertyParentLevelsDisplayedGets or sets the number of levels of parent nodes the control displays, relative to the currently displayed node.
Public propertyPathDirectionGets or sets the order that the navigation path nodes are rendered in.
Public propertyPathSeparatorGets or sets the string that delimits SiteMapPath nodes in the rendered navigation path.
Public propertyPathSeparatorStyleGets the style used for the PathSeparator string.
Public propertyPathSeparatorTemplateGets or sets a control template to use for the path delimiter of a site navigation path.
Public propertyProviderGets or sets a SiteMapProvider that is associated with the Web server control.
Public propertyRenderCurrentNodeAsLinkIndicates whether the site navigation node that represents the currently displayed page is rendered as a hyperlink.
Public propertyRenderingCompatibilityGets a value that specifies the ASP.NET version that rendered HTML will be compatible with. (Inherited from Control.)
Public propertyRootNodeStyleGets the style for the root node display text.
Public propertyRootNodeTemplateGets or sets a control template to use for the root node of a site navigation path.
Public propertyShowToolTipsGets or sets a value indicating whether the SiteMapPath control writes an additional hyperlink attribute for hyperlinked navigation nodes. Depending on client support, when a mouse hovers over a hyperlink that has the additional attribute set, a ToolTip is displayed.
Public propertySiteGets information about the container that hosts the current control when rendered on a design surface. (Inherited from Control.)
Public propertySiteMapProviderGets or sets the name of the SiteMapProvider used to render the site navigation control.
Public propertySkinIDGets or sets the skin to apply to the control. (Inherited from WebControl.)
Public propertySkipLinkTextGets or sets a value that is used to render alternate text for screen readers to skip the control's content.
Public propertyStyleGets a collection of text attributes that will be rendered as a style attribute on the outer tag of the Web server control. (Inherited from WebControl.)
Public propertySupportsDisabledAttributeGets a value that indicates whether the control should set the disabled attribute of the rendered HTML element to "disabled" when the control's IsEnabled property is false. (Inherited from CompositeControl.)
Public propertyTabIndexGets or sets the tab index of the Web server control. (Inherited from WebControl.)
Protected propertyTagKeyGets the HtmlTextWriterTag value that corresponds to this Web server control. This property is used primarily by control developers. (Inherited from WebControl.)
Protected propertyTagNameGets the name of the control tag. This property is used primarily by control developers. (Inherited from WebControl.)
Public propertyTemplateControlGets or sets a reference to the template that contains this control. (Inherited from Control.)
Public propertyTemplateSourceDirectoryGets the virtual directory of the Page or UserControl that contains the current server control. (Inherited from Control.)
Public propertyToolTipGets or sets the text displayed when the mouse pointer hovers over the Web server control. (Inherited from WebControl.)
Public propertyUniqueIDGets the unique, hierarchically qualified identifier for the server control. (Inherited from Control.)
Protected propertyViewStateGets a dictionary of state information that allows you to save and restore the view state of a server control across multiple requests for the same page. (Inherited from Control.)
Protected propertyViewStateIgnoresCaseGets a value that indicates whether the StateBag object is case-insensitive. (Inherited from Control.)
Public propertyViewStateModeGets or sets the view-state mode of this control. (Inherited from Control.)
Public propertyVisibleGets or sets a value that indicates whether a server control is rendered as UI on the page. (Inherited from Control.)
Public propertyWidthGets or sets the width of the Web server control. (Inherited from WebControl.)
Top
  NameDescription
Protected methodAddAttributesToRenderAdds HTML attributes and styles that need to be rendered to the specified HtmlTextWriterTag. This method is used primarily by control developers. (Inherited from WebControl.)
Protected methodAddedControlCalled after a child control is added to the Controls collection of the Control object. (Inherited from Control.)
Protected methodAddParsedSubObjectNotifies the server control that an element, either XML or HTML, was parsed, and adds the element to the server control's ControlCollection object. (Inherited from Control.)
Public methodApplyStyleCopies any nonblank elements of the specified style to the Web control, overwriting any existing style elements of the control. This method is primarily used by control developers. (Inherited from WebControl.)
Public methodApplyStyleSheetSkinApplies the style properties defined in the page style sheet to the control. (Inherited from Control.)
Protected methodBuildProfileTreeInfrastructure. Gathers information about the server control and delivers it to the Trace property to be displayed when tracing is enabled for the page. (Inherited from Control.)
Protected methodClearCachedClientIDInfrastructure. Sets the cached ClientID value to nullNothingnullptra null reference (Nothing in Visual Basic). (Inherited from Control.)
Protected methodClearChildControlStateDeletes the control-state information for the server control's child controls. (Inherited from Control.)
Protected methodClearChildStateDeletes the view-state and control-state information for all the server control's child controls. (Inherited from Control.)
Protected methodClearChildViewStateDeletes the view-state information for all the server control's child controls. (Inherited from Control.)
Protected methodClearEffectiveClientIDModeInfrastructure. Sets the ClientIDMode property of the current control instance and of any child controls to Inherit. (Inherited from Control.)
Public methodCopyBaseAttributesCopies the properties not encapsulated by the Style object from the specified Web server control to the Web server control that this method is called from. This method is used primarily by control developers. (Inherited from WebControl.)
Protected methodCreateChildControlsInfrastructure. Clears the current child controls collection, and rebuilds it by calling the CreateControlHierarchy method. (Overrides Control..::.CreateChildControls()()().)
Protected methodCreateControlCollectionCreates a new ControlCollection object to hold the child controls (both literal and server) of the server control. (Inherited from Control.)
Protected methodCreateControlHierarchyExamines the site map structure provided by the SiteMapProvider and builds a child controls collection based on the styles and templates defined for the functional nodes.
Protected methodCreateControlStyleCreates the style object that is used internally by the WebControl class to implement all style related properties. This method is used primarily by control developers. (Inherited from WebControl.)
Public methodDataBind()()()Infrastructure. Binds a data source to the SiteMapPath control and its child controls. (Overrides CompositeControl..::.DataBind()()().)
Protected methodDataBind(Boolean)Binds a data source to the invoked server control and all its child controls with an option to raise the DataBinding event. (Inherited from Control.)
Protected methodDataBindChildrenBinds a data source to the server control's child controls. (Inherited from Control.)
Public methodDisposeEnables a server control to perform final clean up before it is released from memory. (Inherited from Control.)
Protected methodEnsureChildControlsDetermines whether the server control contains child controls. If it does not, it creates child controls. (Inherited from Control.)
Protected methodEnsureIDCreates an identifier for controls that do not have an identifier assigned. (Inherited from Control.)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodFindControl(String)Searches the current naming container for a server control with the specified id parameter. (Inherited from Control.)
Protected methodFindControl(String, Int32)Infrastructure. Searches the current naming container for a server control with the specified id and an integer, specified in the pathOffset parameter, which aids in the search. You should not override this version of the FindControl method. (Inherited from Control.)
Public methodFocusSets input focus to a control. (Inherited from Control.)
Protected methodGetDesignModeStateInfrastructure. Gets design-time data for a control. (Inherited from Control.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetRouteUrl(Object)Gets the URL that corresponds to a set of route parameters. (Inherited from Control.)
Public methodGetRouteUrl(RouteValueDictionary)Gets the URL that corresponds to a set of route parameters. (Inherited from Control.)
Public methodGetRouteUrl(String, Object)Gets the URL that corresponds to a set of route parameters and a route name. (Inherited from Control.)
Public methodGetRouteUrl(String, RouteValueDictionary)Gets the URL that corresponds to a set of route parameters and a route name. (Inherited from Control.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodGetUniqueIDRelativeToReturns the prefixed portion of the UniqueID property of the specified control. (Inherited from Control.)
Public methodHasControlsDetermines if the server control contains any child controls. (Inherited from Control.)
Protected methodHasEventsReturns a value indicating whether events are registered for the control or any child controls. (Inherited from Control.)
Protected methodInitializeItemPopulates a SiteMapNodeItem, which is a Web server control that represents a SiteMapNode, with a set of child controls based on the node's function and the specified templates and styles for the node.
Protected methodIsLiteralContentInfrastructure. Determines if the server control holds only literal content. (Inherited from Control.)
Protected methodLoadControlStateRestores control-state information from a previous page request that was saved by the SaveControlState method. (Inherited from Control.)
Protected methodLoadViewStateRestores view-state information from a previous request that was saved with the SaveViewState method. (Overrides WebControl..::.LoadViewState(Object).)
Protected methodMapPathSecureRetrieves the physical path that a virtual path, either absolute or relative, maps to. (Inherited from Control.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodMergeStyleCopies any nonblank elements of the specified style to the Web control, but will not overwrite any existing style elements of the control. This method is used primarily by control developers. (Inherited from WebControl.)
Protected methodOnBubbleEventDetermines whether the event for the server control is passed up the page's UI server control hierarchy. (Inherited from Control.)
Protected methodOnDataBindingInfrastructure. Overrides the OnDataBinding method of the CompositeControl class and raises the DataBinding event. (Overrides Control..::.OnDataBinding(EventArgs).)
Protected methodOnInitRaises the Init event. (Inherited from Control.)
Protected methodOnItemCreatedRaises the ItemCreated event of the SiteMapPath control.
Protected methodOnItemDataBoundRaises the ItemDataBound event of the SiteMapPath control.
Protected methodOnLoadRaises the Load event. (Inherited from Control.)
Protected methodOnPreRenderRaises the PreRender event. (Inherited from Control.)
Protected methodOnUnloadRaises the Unload event. (Inherited from Control.)
Protected methodOpenFileGets a Stream used to read a file. (Inherited from Control.)
Protected methodRaiseBubbleEventAssigns any sources of the event and its information to the control's parent. (Inherited from Control.)
Protected methodRecreateChildControlsRecreates the child controls in a control derived from CompositeControl. (Inherited from CompositeControl.)
Protected methodRemovedControlCalled after a child control is removed from the Controls collection of the Control object. (Inherited from Control.)
Protected methodRenderWrites the CompositeControl content to the specified HtmlTextWriter object, for display on the client. (Overrides CompositeControl..::.Render(HtmlTextWriter).)
Public methodRenderBeginTagRenders the HTML opening tag of the control to the specified writer. This method is used primarily by control developers. (Inherited from WebControl.)
Protected methodRenderChildrenOutputs the content of a server control's children to a provided HtmlTextWriter object, which writes the content to be rendered on the client. (Inherited from Control.)
Protected methodRenderContentsRenders the nodes in the SiteMapPath control. (Overrides WebControl..::.RenderContents(HtmlTextWriter).)
Public methodRenderControl(HtmlTextWriter)Outputs server control content to a provided HtmlTextWriter object and stores tracing information about the control if tracing is enabled. (Inherited from Control.)
Protected methodRenderControl(HtmlTextWriter, ControlAdapter)Outputs server control content to a provided HtmlTextWriter object using a provided ControlAdapter object. (Inherited from Control.)
Public methodRenderEndTagRenders the HTML closing tag of the control into the specified writer. This method is used primarily by control developers. (Inherited from WebControl.)
Protected methodResolveAdapterGets the control adapter responsible for rendering the specified control. (Inherited from Control.)
Public methodResolveClientUrlGets a URL that can be used by the browser. (Inherited from Control.)
Public methodResolveUrlConverts a URL into one that is usable on the requesting client. (Inherited from Control.)
Protected methodSaveControlStateSaves any server control state changes that have occurred since the time the page was posted back to the server. (Inherited from Control.)
Protected methodSaveViewStateInfrastructure. Saves changes to view state for the SiteMapPath control. (Overrides WebControl..::.SaveViewState()()().)
Protected methodSetDesignModeStateSets design-time data for a control. (Inherited from Control.)
Public methodSetRenderMethodDelegateInfrastructure. Assigns an event handler delegate to render the server control and its content into its parent control. (Inherited from Control.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Protected methodTrackViewStateInfrastructure. Tracks changes to the SiteMapPath control's view state. (Overrides WebControl..::.TrackViewState()()().)
Top
  NameDescription
Public eventDataBindingOccurs when the server control binds to a data source. (Inherited from Control.)
Public eventDisposedOccurs when a server control is released from memory, which is the last stage of the server control lifecycle when an ASP.NET page is requested. (Inherited from Control.)
Public eventInitOccurs when the server control is initialized, which is the first step in its lifecycle. (Inherited from Control.)
Public eventItemCreatedOccurs when a SiteMapNodeItem is created by the SiteMapPath and is associated with its corresponding SiteMapNode. This event is raised by the OnItemCreated method.
Public eventItemDataBoundInfrastructure. Occurs after a SiteMapNodeItem has been bound to its underlying SiteMapNode data by the SiteMapPath. This event is raised by the OnItemDataBound method.
Public eventLoadOccurs when the server control is loaded into the Page object. (Inherited from Control.)
Public eventPreRenderOccurs after the Control object is loaded but prior to rendering. (Inherited from Control.)
Public eventUnloadOccurs when the server control is unloaded from memory. (Inherited from Control.)
Top
  NameDescription
Public Extension MethodFindDataSourceControlReturns the data source that is associated with the data control for the specified control. (Defined by DynamicDataExtensions.)
Public Extension MethodFindFieldTemplateReturns the field template for the specified column in the specified control's naming container. (Defined by DynamicDataExtensions.)
Public Extension MethodFindMetaTableReturns the metatable object for the containing data control. (Defined by DynamicDataExtensions.)
Top
  NameDescription
Explicit interface implemetationPrivate methodIAttributeAccessor..::.GetAttributeInfrastructure. Gets an attribute of the Web control with the specified name. (Inherited from WebControl.)
Explicit interface implemetationPrivate methodIAttributeAccessor..::.SetAttributeSets an attribute of the Web control to the specified name and value. (Inherited from WebControl.)
Explicit interface implemetationPrivate methodICompositeControlDesignerAccessor..::.RecreateChildControlsEnables a designer to recreate the composite control's collection of child controls in the design-time environment. (Inherited from CompositeControl.)
Explicit interface implemetationPrivate propertyIControlBuilderAccessor..::.ControlBuilderFor a description of this member, see IControlBuilderAccessor..::.ControlBuilder. (Inherited from Control.)
Explicit interface implemetationPrivate methodIControlDesignerAccessor..::.GetDesignModeStateFor a description of this member, see IControlDesignerAccessor..::.GetDesignModeState. (Inherited from Control.)
Explicit interface implemetationPrivate methodIControlDesignerAccessor..::.SetDesignModeStateFor a description of this member, see IControlDesignerAccessor..::.SetDesignModeState. (Inherited from Control.)
Explicit interface implemetationPrivate methodIControlDesignerAccessor..::.SetOwnerControlInfrastructure. For a description of this member, see IControlDesignerAccessor..::.SetOwnerControl. (Inherited from Control.)
Explicit interface implemetationPrivate propertyIControlDesignerAccessor..::.UserDataFor a description of this member, see IControlDesignerAccessor..::.UserData. (Inherited from Control.)
Explicit interface implemetationPrivate propertyIDataBindingsAccessor..::.DataBindingsFor a description of this member, see IDataBindingsAccessor..::.DataBindings. (Inherited from Control.)
Explicit interface implemetationPrivate propertyIDataBindingsAccessor..::.HasDataBindingsFor a description of this member, see IDataBindingsAccessor..::.HasDataBindings. (Inherited from Control.)
Explicit interface implemetationPrivate propertyIExpressionsAccessor..::.ExpressionsFor a description of this member, see IExpressionsAccessor..::.Expressions. (Inherited from Control.)
Explicit interface implemetationPrivate propertyIExpressionsAccessor..::.HasExpressionsFor a description of this member, see IExpressionsAccessor..::.HasExpressions. (Inherited from Control.)
Explicit interface implemetationPrivate methodIParserAccessor..::.AddParsedSubObjectFor a description of this member, see IParserAccessor..::.AddParsedSubObject. (Inherited from Control.)
Top

In this topic:

Introduction

The SiteMapPath control is a site navigation control that reflects data provided by the SiteMap object. It provides a space-saving way to easily navigate a site and serves as a point of reference for where the currently displayed page is within a site. This type of control is commonly called a breadcrumb, or eyebrow, because it displays a hierarchical path of hyperlinked page names that provides an escape up the hierarchy of pages from the current location. SiteMapDataSource. The SiteMapPath is useful for sites that have deep hierarchical page structures, but where a TreeView or Menu might require too much space on a page.

The SiteMapPath control works directly with your Web site's site map data. If you use it on a page that is not represented in your site map, it will not be displayed. For more information about site maps, see ASP.NET Site Navigation.

Nodes

The SiteMapPath is made up of nodes. Each element in the path is called a node and is represented by a SiteMapNodeItem object. The node that anchors the path and represents the base of the hierarchical tree is called the root node. The node that represents the currently displayed page is the current node. Any other node between the current node and root node is a parent node. The following table describes the three different node types.

Node type

Description

root

A node that anchors a hierarchical set of nodes.

parent

A node that has one or more child nodes, but is not the current node.

current

A node that represents the currently displayed page.

Node Appearance

Each node displayed by a SiteMapPath is a HyperLink or Literal control that you can apply a template or style to. The templates and styles are applied to nodes according to two rules of precedence:

  • If a template is defined for a node, it overrides any style defined for the node.

  • Templates and styles that are specific to types of nodes override general templates and styles defined for all nodes.

The NodeStyle and NodeTemplate properties are applied to all nodes, regardless of their node type. If both these properties are defined, the NodeTemplate takes precedence.

The CurrentNodeTemplate and CurrentNodeStyle properties are applied to nodes that represent the currently displayed page. If a NodeTemplate is defined in addition to the CurrentNodeTemplate, it is ignored. If a NodeStyle is defined in addition to the CurrentNodeStyle, it is merged with the CurrentNodeStyle to create a merged style. This merged style uses all the elements of the CurrentNodeStyle, plus any additional elements of the NodeStyle that do not conflict with the CurrentNodeStyle.

The RootNodeTemplate and RootNodeStyle properties are applied to the node that represents the root of the site navigation hierarchy. If a NodeTemplate is defined in addition to the RootNodeTemplate, it is ignored. If a NodeStyle is defined in addition to the RootNodeStyle, it is merged with the RootNodeStyle to create a merged style. This merged style uses all the elements of the RootNodeStyle, plus any additional elements of the NodeStyle that did not conflict with the CurrentNodeStyle. Finally, if the currently displayed page is the root page of the site, the RootNodeTemplate and RootNodeStyle are used instead of the CurrentNodeTemplate or CurrentNodeStyle.

The SiteMapPath control uses the site map provider identified by the SiteMapProvider property as its data source for site navigation information. If no provider is specified, it uses the default provider for the site, identified in the SiteMap..::.Provider property. Typically, this is an instance of the default site map provider for ASP.NET, the XmlSiteMapProvider. If the SiteMapPath control is used within a site but no site map provider is configured, the control throws an HttpException exception.

Events

The SiteMapPath control also provides events that you can program against. This allows you to run a custom routine whenever an event occurs. The following table lists the events supported by the SiteMapPath control.

Event

Description

ItemCreated

Occurs when the SiteMapPath control first creates a SiteMapNodeItem and associates it with a SiteMapNode.

ItemDataBound

Occurs when a SiteMapNodeItem is bound to site map data contained by the SiteMapNode.

Customizing the SiteMapPath Control

Classes that derive from SiteMapPath override the InitializeItem method to customize the SiteMapNodeItem controls contained by the navigation control. For complete control over the way SiteMapNodeItem objects are created and added to the SiteMapPath, derived classes override the CreateControlHierarchy method.

Accessibility

For information about how to configure this control so that it generates markup that conforms to accessibility standards, see Accessibility in Visual Studio and ASP.NET and ASP.NET Controls and Accessibility.

Declarative Syntax

<asp:SiteMapPath
    AccessKey="string"
    BackColor="color name|#dddddd"
    BorderColor="color name|#dddddd"
    BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
        Inset|Outset"
    BorderWidth="size"
    CssClass="string"
    Enabled="True|False"
    EnableTheming="True|False"
    EnableViewState="True|False"
    Font-Bold="True|False"
    Font-Italic="True|False"
    Font-Names="string"
    Font-Overline="True|False"
    Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
        Large|X-Large|XX-Large"
    Font-Strikeout="True|False"
    Font-Underline="True|False"
    ForeColor="color name|#dddddd"
    Height="size"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnItemCreated="ItemCreated event handler"
    OnItemDataBound="ItemDataBound event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    ParentLevelsDisplayed="integer"
    PathDirection="RootToCurrent|CurrentToRoot"
    PathSeparator="string"
    RenderCurrentNodeAsLink="True|False"
    runat="server"
    ShowToolTips="True|False"
    SiteMapProvider="string"
    SkinID="string"
    SkipLinkText="string"
    Style="string"
    TabIndex="integer"
    ToolTip="string"
    Visible="True|False"
    Width="size"
>
        <CurrentNodeStyle />
        <CurrentNodeTemplate>
            <!-- child controls -->
        </CurrentNodeTemplate>
        <NodeStyle />
        <NodeTemplate>
            <!-- child controls -->
        </NodeTemplate>
        <PathSeparatorStyle />
        <PathSeparatorTemplate>
            <!-- child controls -->
        </PathSeparatorTemplate>
        <RootNodeStyle />
        <RootNodeTemplate>
            <!-- child controls -->
        </RootNodeTemplate>
</asp:SiteMapPath>
TopicLocation
Comment : afficher des données sitemap dans des contrôles serveur Web non hiérarchiquesGénération d'applications Web ASP.NET
Comment : afficher des données sitemap dans des contrôles serveur Web non hiérarchiquesGénération d'applications Web ASP.NET dans Visual Studio
Comment : ajouter la navigation de site simpleGénération d'applications Web ASP.NET
Comment : ajouter la navigation de site simpleGénération d'applications Web ASP.NET dans Visual Studio
Comment : ajouter la navigation de site simpledv_vwdcon
Comment : configurer plusieurs plans de sites et fournisseurs sitemapGénération d'applications Web ASP.NET
Comment : configurer plusieurs plans de sites et fournisseurs sitemapGénération d'applications Web ASP.NET dans Visual Studio
Comment : énumérer par programme des nœuds sitemapGénération d'applications Web ASP.NET
Comment : énumérer par programme des nœuds sitemapGénération d'applications Web ASP.NET dans Visual Studio
Comment : filtrer les nœuds récupérés par les contrôles serveur Web SiteMapDataSourceGénération d'applications Web ASP.NET
Comment : filtrer les nœuds récupérés par les contrôles serveur Web SiteMapDataSourceGénération d'applications Web ASP.NET dans Visual Studio
Comment : implémenter des fournisseurs sitemap ASP.NETGénération d'applications Web ASP.NET
Comment : implémenter des fournisseurs sitemap ASP.NETGénération d'applications Web ASP.NET dans Visual Studio
Comment : localiser les données sitemapGénération d'applications Web ASP.NET
Comment : localiser les données sitemapGénération d'applications Web ASP.NET dans Visual Studio
Comment : modifier par programme des nœuds sitemap dans la mémoireGénération d'applications Web ASP.NET
Comment : modifier par programme des nœuds sitemap dans la mémoireGénération d'applications Web ASP.NET dans Visual Studio
Comment : personnaliser l'apparence des contrôles serveur Web SiteMapPathGénération d'applications Web ASP.NET
Comment : personnaliser l'apparence des contrôles serveur Web SiteMapPathGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : ajout de la navigation de site à un site WebGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : ajout de la navigation de site à un site WebGénération d'applications à l'aide de Visual Web Developer

The following code example uses a SiteMapPath control declaratively in a Web Forms page. This example demonstrates some of the rules of precedence that govern the order with which templates and styles are applied to SiteMapPath nodes.

Visual Basic
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
</script>

<html  >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">

            <!-- The following example demonstrates some of the orders
                 of precedence when applying styles and templates to
                 functional nodes of a SiteMapPath.

                 The NodeStyle and RootNodeStyle define the same attributes,
                 but are different and conflict with each other: the
                 RootNodeStyle supersedes NodeStyle, and is the style
                 rendered. Notice, however, that the underline style
                 defined by NodeStyle is still applied.

                 Both a CurrentNodeStyle and a CurrentNodeTemplate are
                 defined. A template supersedes a style for a node
                 type, so CurrentNodeTemplate is displayed and CurrentNodeStyle
                 is ignored. -->

            <asp:SiteMapPath ID="SiteMapPath1" runat="server"
                RenderCurrentNodeAsLink="true"
                NodeStyle-Font-Names="Franklin Gothic Medium"
                NodeStyle-Font-Underline="true"
                NodeStyle-Font-Bold="true"
                RootNodeStyle-Font-Names="Symbol"
                RootNodeStyle-Font-Bold="false"
                CurrentNodeStyle-Font-Names="Verdana"
                CurrentNodeStyle-Font-Size="10pt"
                CurrentNodeStyle-Font-Bold="true"
                CurrentNodeStyle-ForeColor="red"
                CurrentNodeStyle-Font-Underline="false">
                <CURRENTNODETEMPLATE>
                        <asp:Image id="Image1" runat="server" ImageUrl="WebForm2.jpg" AlternateText="WebForm2"/>
                </CURRENTNODETEMPLATE>
            </asp:SiteMapPath>


        </form>
    </body>
</html>
C#
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
</script>

<html  >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">

            <!-- The following example demonstrates some of the orders
                 of precedence when applying styles and templates to
                 functional nodes of a SiteMapPath.

                 The NodeStyle and RootNodeStyle define the same attributes,
                 but are different and conflict with each other: the
                 RootNodeStyle supersedes NodeStyle, and is the style
                 rendered. Notice, however, that the underline style
                 defined by NodeStyle is still applied.

                 Both a CurrentNodeStyle and a CurrentNodeTemplate are
                 defined. A template supersedes a style for a node
                 type, so CurrentNodeTemplate is displayed and CurrentNodeStyle
                 is ignored. -->

            <asp:SiteMapPath ID="SiteMapPath1" runat="server"
                RenderCurrentNodeAsLink="true"
                NodeStyle-Font-Names="Franklin Gothic Medium"
                NodeStyle-Font-Underline="true"
                NodeStyle-Font-Bold="true"
                RootNodeStyle-Font-Names="Symbol"
                RootNodeStyle-Font-Bold="false"
                CurrentNodeStyle-Font-Names="Verdana"
                CurrentNodeStyle-Font-Size="10pt"
                CurrentNodeStyle-Font-Bold="true"
                CurrentNodeStyle-ForeColor="red"
                CurrentNodeStyle-Font-Underline="false">
                <CURRENTNODETEMPLATE>
                        <asp:Image id="Image1" runat="server" ImageUrl="WebForm2.jpg" AlternateText="WebForm2"/>
                </CURRENTNODETEMPLATE>
            </asp:SiteMapPath>


        </form>
    </body>
</html>

The previous example uses the default site map provider and a Web.sitemap file with the following structure.

<siteMap>
  <siteMapNode title="WebForm1" description="WebForm1" url="WebForm1.aspx" >
    <siteMapNode title="WebForm2" description="WebForm2" url="WebForm2.aspx"/>
  </siteMapNode>
</siteMap>

The following code example demonstrates extends the SiteMapPath control and adds new functionality to it by overriding the InitializeItem method. The DropDownSiteMapPath control adds a DropDownList after the current node, to enable easy navigation to pages that are child nodes of the current page. This example demonstrates how to work with SiteMapNodeItem objects, including checking their SiteMapNodeItemType and calling the OnItemCreated method after the items are created.

Visual Basic
Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Security.Permissions
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace Samples.AspNet

' The DropDownNavigationPath is a class that extends the SiteMapPath
' control and renders a DropDownList after the CurrentNode. The
' DropDownList displays a list of pages found further down the site map
' hierarchy from the current one. Selecting an item in the DropDownList
' redirects to that page.
'
' For simplicity, the DropDownNavigationPath assumes the
' RootToCurrent PathDirection, and does not apply styles
' or templates the current node.
'
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class DropDownNavigationPath
   Inherits SiteMapPath

   ' Override the InitializeItem method to add a PathSeparator
   ' and DropDownList to the current node.
   Protected Overrides Sub InitializeItem(item As SiteMapNodeItem)

      ' The only node that must be handled is the CurrentNode.
      If item.ItemType = SiteMapNodeItemType.Current Then
         Dim hLink As New HyperLink()

         ' No Theming for the HyperLink.
         hLink.EnableTheming = False
         ' Enable the link of the SiteMapPath is enabled.
         hLink.Enabled = Me.Enabled

         ' Set the properties of the HyperLink to
         ' match those of the corresponding SiteMapNode.
         hLink.NavigateUrl = item.SiteMapNode.Url
         hLink.Text = item.SiteMapNode.Title
         If ShowToolTips Then
            hLink.ToolTip = item.SiteMapNode.Description
         End If

         ' Apply styles or templates to the HyperLink here.
         ' ...
         ' ...
         ' Add the item to the Controls collection.
         item.Controls.Add(hLink)

         AddDropDownListAfterCurrentNode(item)
      Else
         MyBase.InitializeItem(item)
      End If
   End Sub 'InitializeItem

   Private Sub AddDropDownListAfterCurrentNode(item As SiteMapNodeItem)

      Dim childNodes As SiteMapNodeCollection = item.SiteMapNode.ChildNodes

      ' Only do this work if there are child nodes.
      If Not (childNodes Is Nothing) Then

         ' Add another PathSeparator after the CurrentNode.
         Dim finalSeparator As New SiteMapNodeItem(item.ItemIndex, SiteMapNodeItemType.PathSeparator)

         Dim eventArgs As New SiteMapNodeItemEventArgs(finalSeparator)

         InitializeItem(finalSeparator)
         ' Call OnItemCreated every time a SiteMapNodeItem is
         ' created and initialized.
         OnItemCreated(eventArgs)

         ' The pathSeparator does not bind to any SiteMapNode, so
         ' do not call DataBind on the SiteMapNodeItem.
         item.Controls.Add(finalSeparator)

         ' Create a DropDownList and populate it with the children of the
         ' CurrentNode. There are no styles or templates that are applied
         ' to the DropDownList control. If OnSelectedIndexChanged is raised,
         ' the event handler redirects to the page selected.
         ' The CurrentNode has child nodes.
         Dim ddList As New DropDownList()
         ddList.AutoPostBack = True

         AddHandler ddList.SelectedIndexChanged, AddressOf Me.DropDownNavPathEventHandler

         ' Add a ListItem to the DropDownList for every node in the
         ' SiteMapNodes collection.
         Dim node As SiteMapNode
         For Each node In  childNodes
            ddList.Items.Add(New ListItem(node.Title, node.Url))
         Next node

         item.Controls.Add(ddList)
      End If
   End Sub 'AddDropDownListAfterCurrentNode

   ' The sender is the DropDownList.
   Private Sub DropDownNavPathEventHandler(sender As Object, e As EventArgs)
      Dim ddL As DropDownList = CType(sender, DropDownList)

      ' Redirect to the page the user chose.
      If Not (Context Is Nothing) Then
         Context.Response.Redirect(ddL.SelectedValue)
      End If

   End Sub 'DropDownNavPathEventHandler
End Class 'DropDownNavigationPath
End Namespace
C#
using System;
using System.Collections;
using System.ComponentModel;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;


// The DropDownNavigationPath is a class that extends the SiteMapPath
// control and renders a DropDownList after the CurrentNode. The
// DropDownList displays a list of pages found further down the site map
// hierarchy from the current one. Selecting an item in the DropDownList
// redirects to that page.
//
// For simplicity, the DropDownNavigationPath assumes the
// RootToCurrent PathDirection, and does not apply styles
// or templates the current node.
//
[AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
public class DropDownNavigationPath : SiteMapPath {
    // Override the InitializeItem method to add a PathSeparator
    // and DropDownList to the current node.
    protected override void InitializeItem(SiteMapNodeItem item) {

        // The only node that must be handled is the CurrentNode.
        if (item.ItemType == SiteMapNodeItemType.Current)
        {
            HyperLink hLink = new HyperLink();

            // No Theming for the HyperLink.
            hLink.EnableTheming = false;
            // Enable the link of the SiteMapPath is enabled.
            hLink.Enabled = this.Enabled;

            // Set the properties of the HyperLink to
            // match those of the corresponding SiteMapNode.
            hLink.NavigateUrl = item.SiteMapNode.Url;
            hLink.Text        = item.SiteMapNode.Title;
            if (ShowToolTips) {
                hLink.ToolTip = item.SiteMapNode.Description;
            }

            // Apply styles or templates to the HyperLink here.
            // ...
            // ...

            // Add the item to the Controls collection.
            item.Controls.Add(hLink);

            AddDropDownListAfterCurrentNode(item);
        }
        else {
            base.InitializeItem(item);
        }
    }
    private void AddDropDownListAfterCurrentNode(SiteMapNodeItem item) {

        SiteMapNodeCollection childNodes = item.SiteMapNode.ChildNodes;

        // Only do this work if there are child nodes.
        if (childNodes != null) {

            // Add another PathSeparator after the CurrentNode.
            SiteMapNodeItem finalSeparator =
                new SiteMapNodeItem(item.ItemIndex,
                                    SiteMapNodeItemType.PathSeparator);

            SiteMapNodeItemEventArgs eventArgs =
                new SiteMapNodeItemEventArgs(finalSeparator);

            InitializeItem(finalSeparator);
            // Call OnItemCreated every time a SiteMapNodeItem is
            // created and initialized.
            OnItemCreated(eventArgs);

            // The pathSeparator does not bind to any SiteMapNode, so
            // do not call DataBind on the SiteMapNodeItem.
            item.Controls.Add(finalSeparator);

            // Create a DropDownList and populate it with the children of the
            // CurrentNode. There are no styles or templates that are applied
            // to the DropDownList control. If OnSelectedIndexChanged is raised,
            // the event handler redirects to the page selected.
            // The CurrentNode has child nodes.
            DropDownList ddList = new DropDownList();
            ddList.AutoPostBack = true;

            ddList.SelectedIndexChanged += new EventHandler(this.DropDownNavPathEventHandler);

            // Add a ListItem to the DropDownList for every node in the
            // SiteMapNodes collection.
            foreach (SiteMapNode node in childNodes) {
                ddList.Items.Add(new ListItem(node.Title, node.Url));
            }

            item.Controls.Add(ddList);
        }
    }

    // The sender is the DropDownList.
    private void DropDownNavPathEventHandler(object sender,EventArgs e) {
        DropDownList ddL = sender as DropDownList;

        // Redirect to the page the user chose.
        if (Context != null)
            Context.Response.Redirect(ddL.SelectedValue);
    }
}

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role not supported), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Bibliothèque de classes .NET Framework
SiteMapPath, classe

Affiche un jeu de texte ou des images-liens hypertexte qui occupent un espace de page restreint et permettent aux utilisateurs de naviguer plus facilement sur un site Web.

Espace de noms :  System.Web.UI.WebControls
Assembly :  System.Web (dans System.Web.dll)
Visual Basic
Public Class SiteMapPath _
    Inherits CompositeControl
C#
public class SiteMapPath : CompositeControl
VisualC++
public ref class SiteMapPath : public CompositeControl
F#
type SiteMapPath =  
    class
        inherit CompositeControl
    end
ASP.NET
<asp:SiteMapPath />

Le type SiteMapPath expose les membres suivants.

  NomDescription
Méthode publiqueSiteMapPathInitialise une nouvelle instance de la classe SiteMapPath.
Début
  NomDescription
Propriété publiqueAccessKeyObtient ou définit la touche d'accès rapide qui vous permet de naviguer rapidement vers le contrôle serveur Web. (Hérité de WebControl.)
Propriété protégéeAdapterObtient l'adaptateur spécifique au navigateur pour le contrôle. (Hérité de Control.)
Propriété publiqueAppRelativeTemplateSourceDirectoryObtient ou définit le répertoire virtuel relatif à l'application de l'objet Page ou UserControl qui contient ce contrôle. (Hérité de Control.)
Propriété publiqueAttributesObtient la collection d'attributs arbitraires (pour le rendu uniquement) qui ne correspondent pas à des propriétés du contrôle. (Hérité de WebControl.)
Propriété publiqueBackColorObtient ou définit la couleur d'arrière-plan du contrôle serveur Web. (Hérité de WebControl.)
Propriété publiqueBindingContainerInfrastructure. Obtient le contrôle qui contient la liaison de données de ce contrôle. (Hérité de Control.)
Propriété publiqueBorderColorObtient ou définit la couleur de bordure du contrôle Web. (Hérité de WebControl.)
Propriété publiqueBorderStyleObtient ou définit le style de bordure du contrôle serveur Web. (Hérité de WebControl.)
Propriété publiqueBorderWidthObtient ou définit la largeur de bordure du contrôle serveur Web. (Hérité de WebControl.)
Propriété protégéeChildControlsCreatedObtient une valeur qui indique si des contrôles enfants du contrôle serveur ont été créés. (Hérité de Control.)
Propriété publiqueClientIDObtient l'ID de contrôle pour le balisage HTML généré par ASP.NET. (Hérité de Control.)
Propriété publiqueClientIDModeObtient ou définit l'algorithme utilisé pour générer la valeur de la propriété ClientID. (Hérité de Control.)
Propriété protégéeClientIDSeparatorObtient une valeur de caractère représentant le caractère de séparation utilisé dans la propriété ClientID. (Hérité de Control.)
Propriété protégéeContextObtient l'objet HttpContext associé au contrôle serveur pour la demande Web en cours. (Hérité de Control.)
Propriété publiqueControlsObtient un objet ControlCollection qui représente les contrôles enfants de CompositeControl. (Hérité de CompositeControl.)
Propriété publiqueControlStyleObtient le style d'un contrôle serveur Web. Cette propriété est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.)
Propriété publiqueControlStyleCreatedObtient une valeur indiquant si un objet Style a été créé pour la propriété ControlStyle. Cette propriété est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.)
Propriété publiqueCssClassObtient ou définit la classe de feuille de style en cascade (CSS, Cascading Style Sheet) rendue par le contrôle serveur Web sur le client. (Hérité de WebControl.)
Propriété publiqueCurrentNodeStyleObtient le style utilisé pour le texte affiché appliqué au nœud actuel.
Propriété publiqueCurrentNodeTemplateObtient ou définit un modèle de contrôle à utiliser pour le nœud d'un chemin de navigation de site qui représente la page affichée.
Propriété publiqueDataItemContainerObtient une référence au conteneur d'attribution de noms si celui-ci implémente IDataItemContainer. (Hérité de Control.)
Propriété publiqueDataKeysContainerObtient une référence au conteneur d'attribution de noms si celui-ci implémente IDataKeysControl. (Hérité de Control.)
Propriété protégéeDesignModeObtient une valeur indiquant si un contrôle est utilisé sur une aire de conception. (Hérité de Control.)
Propriété publiqueEnabledObtient ou définit une valeur indiquant si le contrôle serveur Web est activé. (Hérité de WebControl.)
Propriété publiqueEnableThemingObtient ou définit une valeur indiquant si les thèmes s'appliquent à ce contrôle. (Hérité de WebControl.)
Propriété publiqueEnableViewStateObtient ou définit une valeur indiquant si le contrôle serveur rend persistant son état d'affichage, ainsi que celui de tous les contrôles enfants qu'il contient, sur le client à l'origine de la demande. (Hérité de Control.)
Propriété protégéeEventsObtient la liste des délégués de gestionnaires d'événements pour le contrôle. Cette propriété est en lecture seule. (Hérité de Control.)
Propriété publiqueFontObtient les propriétés de police associées au contrôle serveur Web. (Hérité de WebControl.)
Propriété publiqueForeColorObtient ou définit la couleur de premier plan (généralement la couleur du texte) du contrôle serveur Web. (Hérité de WebControl.)
Propriété publiqueHasAttributesObtient une valeur indiquant si le contrôle a des attributs définis. (Hérité de WebControl.)
Propriété protégéeHasChildViewStateObtient une valeur indiquant si les contrôles enfants du contrôle serveur en cours possèdent des paramètres d'état d'affichage enregistrés. (Hérité de Control.)
Propriété publiqueHeightObtient ou définit la hauteur du contrôle serveur Web. (Hérité de WebControl.)
Propriété publiqueIDObtient ou définit l'ID programmatique assigné au contrôle serveur. (Hérité de Control.)
Propriété protégéeIdSeparatorInfrastructure. Obtient le caractère utilisé pour séparer des identificateurs de contrôle. (Hérité de Control.)
Propriété protégéeIsChildControlStateClearedObtient une valeur indiquant si les contrôles contenus dans ce contrôle utilisent l'état du contrôle. (Hérité de Control.)
Propriété protégéeIsEnabledObtient une valeur indiquant si le contrôle est activé. (Hérité de WebControl.)
Propriété protégéeIsTrackingViewStateObtient une valeur qui indique si le contrôle serveur enregistre les modifications apportées à son état d'affichage. (Hérité de Control.)
Propriété protégéeIsViewStateEnabledObtient une valeur indiquant si l'état d'affichage est activé pour ce contrôle. (Hérité de Control.)
Propriété protégéeLoadViewStateByIDObtient une valeur indiquant si le contrôle participe au chargement de son état d'affichage par ID et non par index. (Hérité de Control.)
Propriété publiqueNamingContainerObtient une référence au conteneur d'attribution de noms du contrôle serveur, qui crée un espace de noms unique pour différencier les contrôles serveur dont la propriété Control..::.ID possède la même valeur. (Hérité de Control.)
Propriété publiqueNodeStyleObtient le style utilisé pour le texte affiché appliqué à tous les nœuds du chemin de navigation du site.
Propriété publiqueNodeTemplateObtient ou définit un modèle de contrôle à utiliser pour l'ensemble des nœuds fonctionnels d'un chemin de navigation de site.
Propriété publiquePageObtient une référence à l'instance de Page qui contient le contrôle serveur. (Hérité de Control.)
Propriété publiqueParentObtient une référence au contrôle parent du contrôle serveur dans la hiérarchie des contrôles de la page. (Hérité de Control.)
Propriété publiqueParentLevelsDisplayedObtient ou définit le nombre de niveaux de nœuds parents affichés par le contrôle par rapport au nœud affiché.
Propriété publiquePathDirectionObtient ou définit l'ordre d'affichage des nœuds du chemin de navigation.
Propriété publiquePathSeparatorObtient ou définit la chaîne qui délimite les nœuds SiteMapPath dans le chemin de navigation affiché.
Propriété publiquePathSeparatorStyleObtient le style appliqué à la chaîne PathSeparator.
Propriété publiquePathSeparatorTemplateObtient ou définit le modèle de contrôle à utiliser pour le séparateur de chemin d'accès d'un chemin de navigation de site.
Propriété publiqueProviderObtient ou définit un SiteMapProvider associé au contrôle serveur Web.
Propriété publiqueRenderCurrentNodeAsLinkIndique si le nœud de navigation du site qui représente la page affichée se présente sous la forme d'un lien hypertexte.
Propriété publiqueRenderingCompatibilityObtient une valeur qui spécifie la version ASP.NET avec laquelle le HTML restitué sera compatible. (Hérité de Control.)
Propriété publiqueRootNodeStyleObtient le style appliqué au texte affiché du nœud racine.
Propriété publiqueRootNodeTemplateObtient ou définit le modèle de contrôle à utiliser pour le nœud racine d'un chemin de navigation de site.
Propriété publiqueShowToolTipsObtient ou définit une valeur qui indique si le contrôle SiteMapPath écrit un attribut de lien hypertexte supplémentaire pour les nœuds de navigation reliés par des liens hypertexte. En fonction de la prise en charge des clients, une info-bulle peut s'afficher lorsque le pointeur de la souris passe sur un lien hypertexte possédant un attribut supplémentaire défini.
Propriété publiqueSiteObtient des informations sur le conteneur qui héberge le contrôle en cours lorsqu'il est rendu sur une aire de conception. (Hérité de Control.)
Propriété publiqueSiteMapProviderObtient ou définit le nom du SiteMapProvider utilisé pour afficher le contrôle de navigation de site.
Propriété publiqueSkinIDObtient ou définit l'apparence à appliquer au contrôle. (Hérité de WebControl.)
Propriété publiqueSkipLinkTextObtient ou définit une valeur utilisée pour afficher le texte de remplacement afin de permettre aux lecteurs d'écran d'ignorer le contenu du contrôle.
Propriété publiqueStyleObtient une collection d'attributs de texte qui sont rendus en tant qu'attribut de style sur la balise extérieure d'un contrôle serveur Web. (Hérité de WebControl.)
Propriété publiqueSupportsDisabledAttributeObtient une valeur qui indique si le contrôle doit affecter à l'attribut disabled de l'élément HTML rendu la valeur "disabled" lorsque la propriété IsEnabled du contrôle a la valeur false. (Hérité de CompositeControl.)
Propriété publiqueTabIndexObtient ou définit l'index de tabulation du contrôle serveur Web. (Hérité de WebControl.)
Propriété protégéeTagKeyObtient la valeur HtmlTextWriterTag qui correspond au contrôle serveur Web. Cette propriété est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.)
Propriété protégéeTagNameObtient le nom de la balise du contrôle. Cette propriété est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.)
Propriété publiqueTemplateControlObtient ou définit une référence au modèle qui contient ce contrôle. (Hérité de Control.)
Propriété publiqueTemplateSourceDirectoryObtient le répertoire virtuel du Page ou du UserControl qui contient le contrôle serveur en cours. (Hérité de Control.)
Propriété publiqueToolTipObtient ou définit le texte affiché quand le pointeur de la souris est positionné sur le contrôle serveur Web. (Hérité de WebControl.)
Propriété publiqueUniqueIDObtient l'identificateur unique qualifié sur le plan hiérarchique du contrôle serveur. (Hérité de Control.)
Propriété protégéeViewStateObtient un dictionnaire d'informations d'état qui vous permet d'enregistrer et de restaurer l'état d'affichage d'un contrôle serveur entre plusieurs demandes de la même page. (Hérité de Control.)
Propriété protégéeViewStateIgnoresCaseObtient une valeur qui indique si l'objet StateBag respecte la casse. (Hérité de Control.)
Propriété publiqueViewStateModeObtient ou définit le mode d'état d'affichage de ce contrôle. (Hérité de Control.)
Propriété publiqueVisibleObtient ou définit une valeur qui indique si un contrôle serveur est rendu sous la forme d'une interface utilisateur sur la page. (Hérité de Control.)
Propriété publiqueWidthObtient ou définit la largeur du contrôle serveur Web. (Hérité de WebControl.)
Début
  NomDescription
Méthode protégéeAddAttributesToRenderAjoute des attributs et des styles HTML qui doivent être rendus au HtmlTextWriterTag spécifié. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.)
Méthode protégéeAddedControlAppelée après l'ajout d'un contrôle enfant à la collection Controls de l'objet Control. (Hérité de Control.)
Méthode protégéeAddParsedSubObjectAvertit le contrôle serveur qu'un élément XML ou HTML a été analysé et l'ajoute à l'objet ControlCollection du contrôle serveur. (Hérité de Control.)
Méthode publiqueApplyStyleCopie tous les éléments non vides du style spécifié vers le contrôle Web, en remplaçant les éléments de style existants du contrôle. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.)
Méthode publiqueApplyStyleSheetSkinApplique les propriétés de style définies dans la feuille de style de la page au contrôle. (Hérité de Control.)
Méthode protégéeBuildProfileTreeInfrastructure. Collecte des informations sur le contrôle serveur et les livre à la propriété Trace à afficher lorsque le traçage est activé pour la page. (Hérité de Control.)
Méthode protégéeClearCachedClientIDInfrastructure. Affecte à la valeur ClientID mise en cache la valeur nullNothingnullptrune référence null (Nothing en Visual Basic). (Hérité de Control.)
Méthode protégéeClearChildControlStateSupprime les informations sur l'état du contrôle des contrôles enfants du contrôle serveur. (Hérité de Control.)
Méthode protégéeClearChildStateSupprime les informations sur l'état d'affichage et sur l'état du contrôle de tous les contrôles enfants du contrôle serveur. (Hérité de Control.)
Méthode protégéeClearChildViewStateSupprime les informations d'état d'affichage de tous les contrôles enfants du contrôle serveur. (Hérité de Control.)
Méthode protégéeClearEffectiveClientIDModeInfrastructure. Affecte la valeur Inherit à la propriété ClientIDMode de l'instance de contrôle actuelle et de tous contrôles enfants. (Hérité de Control.)
Méthode publiqueCopyBaseAttributesCopie les propriétés non encapsulées par l'objet Style du contrôle serveur Web spécifié vers le contrôle serveur Web à partir duquel cette méthode est appelée. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.)
Méthode protégéeCreateChildControlsInfrastructure. Efface la collection de contrôles enfants actuelle et la reconstruit en appelant la méthode CreateControlHierarchy. (Substitue Control..::.CreateChildControls()()().)
Méthode protégéeCreateControlCollectionCrée un nouvel objet ControlCollection pour contenir les contrôles enfants (littéraux et serveur) du contrôle serveur. (Hérité de Control.)
Méthode protégéeCreateControlHierarchyExamine la structure du plan de site fournie par le SiteMapProvider et construit une collection de contrôles enfants basée sur les styles et les modèles définis pour les nœuds fonctionnels.
Méthode protégéeCreateControlStyleCrée l'objet de style qui est utilisé de manière interne par la classe WebControl pour implémenter toutes les propriétés associées au style. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.)
Méthode publiqueDataBind()()()Infrastructure. Lie une source de données au contrôle SiteMapPath et à ses contrôles enfants. (Substitue CompositeControl..::.DataBind()()().)
Méthode protégéeDataBind(Boolean)Lie une source de données au contrôle serveur appelé et tous ses contrôles enfants avec une option pour déclencher l'événement DataBinding. (Hérité de Control.)
Méthode protégéeDataBindChildrenLie une source de données aux contrôles enfants du contrôle serveur. (Hérité de Control.)
Méthode publiqueDisposePermet à un contrôle serveur d'effectuer le nettoyage final avant qu'il soit libéré de la mémoire. (Hérité de Control.)
Méthode protégéeEnsureChildControlsDétermine si le contrôle serveur contient des contrôles enfants. S'il ne contient pas de contrôles enfants, il en crée. (Hérité de Control.)
Méthode protégéeEnsureIDCrée un identificateur pour les contrôles auxquels aucun identificateur n'est assigné. (Hérité de Control.)
Méthode publiqueEquals(Object)Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégéeFinalizeAutorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiqueFindControl(String)Recherche un contrôle serveur possédant le paramètre id spécifié dans le conteneur d'attribution de noms actuel. (Hérité de Control.)
Méthode protégéeFindControl(String, Int32)Infrastructure. Recherche le conteneur d'attribution de noms actuel d'un contrôle serveur avec l'id spécifié et un entier, spécifié dans le paramètre pathOffset, qui facilite la recherche. Vous ne devez pas substituer cette version de la méthode FindControl. (Hérité de Control.)
Méthode publiqueFocusAffecte le focus d'entrée à un contrôle. (Hérité de Control.)
Méthode protégéeGetDesignModeStateInfrastructure. Obtient les données au moment du design pour un contrôle. (Hérité de Control.)
Méthode publiqueGetHashCodeSert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publiqueGetRouteUrl(Object)Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire. (Hérité de Control.)
Méthode publiqueGetRouteUrl(RouteValueDictionary)Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire. (Hérité de Control.)
Méthode publiqueGetRouteUrl(String, Object)Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire et à un nom d'itinéraire. (Hérité de Control.)
Méthode publiqueGetRouteUrl(String, RouteValueDictionary)Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire et à un nom d'itinéraire. (Hérité de Control.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueGetUniqueIDRelativeToRetourne la partie préfixée de la propriété UniqueID du contrôle spécifié. (Hérité de Control.)
Méthode publiqueHasControlsDétermine si le contrôle serveur contient des contrôles enfants. (Hérité de Control.)
Méthode protégéeHasEventsRetourne une valeur indiquant si des événements sont inscrits pour le contrôle ou des contrôles enfants. (Hérité de Control.)
Méthode protégéeInitializeItemRemplit un SiteMapNodeItem, qui est un contrôle serveur Web qui représente un SiteMapNode, avec un jeu de contrôles enfants selon la fonction du nœud ainsi que des modèles et des styles spécifiés pour celui-ci.
Méthode protégéeIsLiteralContentInfrastructure. Détermine si le contrôle serveur ne détient qu'un contenu littéral. (Hérité de Control.)
Méthode protégéeLoadControlStateRestaure des informations sur l'état du contrôle à partir d'une demande de page antérieure enregistrée par la méthode SaveControlState. (Hérité de Control.)
Méthode protégéeLoadViewStateRestaure les informations d'état d'affichage à partir d'une précédente requête enregistrées avec la méthode SaveViewState. (Substitue WebControl..::.LoadViewState(Object).)
Méthode protégéeMapPathSecureRécupère le chemin d'accès physique auquel un chemin d'accès virtuel, absolu ou relatif, correspond. (Hérité de Control.)
Méthode protégéeMemberwiseCloneCrée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publiqueMergeStyleCopie tous les éléments non vides du style spécifié vers le contrôle Web, mais ne remplace aucun élément de style existant du contrôle. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.)
Méthode protégéeOnBubbleEventDétermine si l'événement pour le contrôle serveur est passé dans la hiérarchie des contrôles serveur de l'interface utilisateur de la page. (Hérité de Control.)
Méthode protégéeOnDataBindingInfrastructure. Substitue la méthode OnDataBinding de la classe CompositeControl et déclenche l'événement DataBinding. (Substitue Control..::.OnDataBinding(EventArgs).)
Méthode protégéeOnInitDéclenche l'événement Init. (Hérité de Control.)
Méthode protégéeOnItemCreatedDéclenche l'événement ItemCreated du contrôle SiteMapPath.
Méthode protégéeOnItemDataBoundDéclenche l'événement ItemDataBound du contrôle SiteMapPath.
Méthode protégéeOnLoadDéclenche l'événement Load. (Hérité de Control.)
Méthode protégéeOnPreRenderDéclenche l'événement PreRender. (Hérité de Control.)
Méthode protégéeOnUnloadDéclenche l'événement Unload. (Hérité de Control.)
Méthode protégéeOpenFileObtient un Stream utilisé pour lire un fichier. (Hérité de Control.)
Méthode protégéeRaiseBubbleEventAssigne les sources éventuelles de l'événement et ses informations au parent du contrôle. (Hérité de Control.)
Méthode protégéeRecreateChildControlsRecrée les contrôles enfants dans un contrôle dérivé de CompositeControl. (Hérité de CompositeControl.)
Méthode protégéeRemovedControlAppelée après la suppression d'un contrôle enfant dans la collection Controls de l'objet Control. (Hérité de Control.)
Méthode protégéeRenderÉcrit le contenu CompositeControl dans l'objet HtmlTextWriter spécifié pour qu'il s'affiche sur le client. (Substitue CompositeControl..::.Render(HtmlTextWriter).)
Méthode publiqueRenderBeginTagGénère le rendu de la balise d'ouverture HTML du contrôle via le writer spécifié. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.)
Méthode protégéeRenderChildrenRenvoie le contenu des enfants d'un contrôle serveur dans un objet HtmlTextWriter fourni, qui écrit le contenu à rendre sur le client. (Hérité de Control.)
Méthode protégéeRenderContentsGénère le rendu des nœuds dans le contrôle SiteMapPath. (Substitue WebControl..::.RenderContents(HtmlTextWriter).)
Méthode publiqueRenderControl(HtmlTextWriter)Renvoie le contenu du contrôle serveur dans un objet HtmlTextWriter fourni et stocke des informations de traçage au sujet du contrôle si le traçage est activé. (Hérité de Control.)
Méthode protégéeRenderControl(HtmlTextWriter, ControlAdapter)Génère le contenu du contrôle serveur dans un objet HtmlTextWriter à l'aide d'un objet ControlAdapter fourni. (Hérité de Control.)
Méthode publiqueRenderEndTagGénère le rendu de la balise de fermeture HTML du contrôle via le writer spécifié. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.)
Méthode protégéeResolveAdapterObtient l'adaptateur de contrôles responsable du rendu du contrôle spécifié. (Hérité de Control.)
Méthode publiqueResolveClientUrlObtient une URL qui peut être utilisée par le navigateur. (Hérité de Control.)
Méthode publiqueResolveUrlConvertit une URL en une URL que le client soit en mesure d'utiliser. (Hérité de Control.)
Méthode protégéeSaveControlStateEnregistre les modifications éventuellement apportées à l'état du contrôle serveur depuis la publication de la page sur le serveur. (Hérité de Control.)
Méthode protégéeSaveViewStateInfrastructure. Enregistre les modifications relatives à l'état d'affichage du contrôle SiteMapPath. (Substitue WebControl..::.SaveViewState()()().)
Méthode protégéeSetDesignModeStateDéfinit les données au moment du design pour un contrôle. (Hérité de Control.)
Méthode publiqueSetRenderMethodDelegateInfrastructure. Assigne un délégué de gestionnaires d'événements pour générer le rendu du contrôle serveur et de son contenu dans son contrôle parent. (Hérité de Control.)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode protégéeTrackViewStateInfrastructure. Suit les modifications apportées à l'état d'affichage du contrôle SiteMapPath. (Substitue WebControl..::.TrackViewState()()().)
Début
  NomDescription
Événement publicDataBindingSe produit lorsque le contrôle serveur se lie à une source de données. (Hérité de Control.)
Événement publicDisposedSe produit lorsqu'un contrôle serveur est libéré de la mémoire, ce qui constitue la dernière étape du cycle de vie d'un contrôle serveur en cas de demande d'une page ASP.NET. (Hérité de Control.)
Événement publicInitSe produit lorsque le contrôle serveur est initialisé, ce qui constitue la première étape de son cycle de vie. (Hérité de Control.)
Événement publicItemCreatedSe produit lorsqu'un SiteMapNodeItem est créé par le SiteMapPath et associé à son SiteMapNode correspondant. Cet événement est déclenché par la méthode OnItemCreated.
Événement publicItemDataBoundInfrastructure. Se produit après la liaison d'un SiteMapNodeItem à ses données SiteMapNode sous-jacentes par le SiteMapPath. Cet événement est déclenché par la méthode OnItemDataBound.
Événement publicLoadSe produit lorsque le contrôle serveur est chargé dans l'objet Page. (Hérité de Control.)
Événement publicPreRenderSe produit après le chargement de l'objet Control mais avant le rendu. (Hérité de Control.)
Événement publicUnloadSe produit lorsque le contrôle serveur est déchargé de la mémoire. (Hérité de Control.)
Début
  NomDescription
Méthode d'extension publiqueFindDataSourceControlRetourne la source de données associée au contrôle de données pour le contrôle spécifié. (Défini par DynamicDataExtensions.)
Méthode d'extension publiqueFindFieldTemplateRetourne le modèle de champ pour la colonne spécifiée dans le conteneur d'attribution de noms du contrôle spécifié. (Défini par DynamicDataExtensions.)
Méthode d'extension publiqueFindMetaTableRetourne l'objet Metatable pour le contrôle de données conteneur. (Défini par DynamicDataExtensions.)
Début
  NomDescription
Implémentation d'interface expliciteMéthode privéeIAttributeAccessor..::.GetAttributeInfrastructure. Obtient un attribut du contrôle Web avec le nom spécifié. (Hérité de WebControl.)
Implémentation d'interface expliciteMéthode privéeIAttributeAccessor..::.SetAttributeAffecte au nom et à la valeur spécifiés un attribut du contrôle Web. (Hérité de WebControl.)
Implémentation d'interface expliciteMéthode privéeICompositeControlDesignerAccessor..::.RecreateChildControlsPermet à un concepteur de recréer dans l'environnement au moment du design la collection du contrôle composite de contrôles enfants. (Hérité de CompositeControl.)
Implémentation d'interface explicitePropriété privéeIControlBuilderAccessor..::.ControlBuilderPour obtenir une description de ce membre, consultez IControlBuilderAccessor..::.ControlBuilder. (Hérité de Control.)
Implémentation d'interface expliciteMéthode privéeIControlDesignerAccessor..::.GetDesignModeStatePour obtenir une description de ce membre, consultez IControlDesignerAccessor..::.GetDesignModeState. (Hérité de Control.)
Implémentation d'interface expliciteMéthode privéeIControlDesignerAccessor..::.SetDesignModeStatePour obtenir une description de ce membre, consultez IControlDesignerAccessor..::.SetDesignModeState. (Hérité de Control.)
Implémentation d'interface expliciteMéthode privéeIControlDesignerAccessor..::.SetOwnerControlInfrastructure. Pour obtenir une description de ce membre, consultez IControlDesignerAccessor..::.SetOwnerControl. (Hérité de Control.)
Implémentation d'interface explicitePropriété privéeIControlDesignerAccessor..::.UserDataPour obtenir une description de ce membre, consultez IControlDesignerAccessor..::.UserData. (Hérité de Control.)
Implémentation d'interface explicitePropriété privéeIDataBindingsAccessor..::.DataBindingsPour obtenir une description de ce membre, consultez IDataBindingsAccessor..::.DataBindings. (Hérité de Control.)
Implémentation d'interface explicitePropriété privéeIDataBindingsAccessor..::.HasDataBindingsPour obtenir une description de ce membre, consultez IDataBindingsAccessor..::.HasDataBindings. (Hérité de Control.)
Implémentation d'interface explicitePropriété privéeIExpressionsAccessor..::.ExpressionsPour obtenir une description de ce membre, consultez IExpressionsAccessor..::.Expressions. (Hérité de Control.)
Implémentation d'interface explicitePropriété privéeIExpressionsAccessor..::.HasExpressionsPour obtenir une description de ce membre, consultez IExpressionsAccessor..::.HasExpressions. (Hérité de Control.)
Implémentation d'interface expliciteMéthode privéeIParserAccessor..::.AddParsedSubObjectPour obtenir une description de ce membre, consultez IParserAccessor..::.AddParsedSubObject. (Hérité de Control.)
Début

Dans cette rubrique :

Introduction

Le contrôle SiteMapPath est un contrôle de navigation de site qui reflète les données fournies par l'objet SiteMap. Il s'agit d'un outil de navigation compact également utilisé comme de point de référence pour déterminer l'emplacement de la page affichée sur un site. Ce type de contrôle est généralement appelé fil d'Ariane (breadcrumb) ou « sourcil » (eyebrow) parce qu'il affiche un chemin d'accès hiérarchique des noms de pages reliés par des liens hypertexte qui permettent de remonter la hiérarchie de pages à partir de l'emplacement actuel. SiteMapDataSource. SiteMapPath est utile pour les sites qui possèdent des structures de pages hiérarchiques profondes, mais où un TreeView ou un Menu peut requérir un espace important sur une page.

Le contrôle SiteMapPath fonctionne directement avec les données de plan de site de votre site Web. Si vous l'utilisez sur une page qui n'est pas représentée dans votre plan de site, il ne sera pas affiché. Pour plus d'informations sur les plans de sites, consultez Navigation au sein des sites ASP.NET.

Nœuds

Le SiteMapPath est composé de nœuds. Chaque élément du chemin d'accès est appelé un nœud et est représenté par un objet SiteMapNodeItem. Le nœud qui ancre le chemin d'accès et représente la base de l'arborescence hiérarchique est appelé le nœud racine. Le nœud qui représente la page affichée est le nœud actuel. Tout autre nœud situé entre le nœud actuel et le nœud racine est un nœud parent. Le tableau suivant décrit les trois types de nœuds.

Type de nœud

Description

racine

Nœud d'ancrage d'un jeu hiérarchique de nœuds.

parent

Nœud qui possède un ou plusieurs nœuds enfants, mais qui n'est pas le nœud actuel.

actuel

Nœud qui représente la page affichée.

Apparence des nœuds

Chaque nœud affiché par un SiteMapPath est un contrôle HyperLink ou Literal auquel vous pouvez appliquer un modèle ou un style. Les modèles et les styles sont appliqués aux nœuds suivant deux règles de priorité :

  • Si un modèle est défini pour un nœud, il substitue tout style défini pour celui-ci.

  • Les modèles et les styles spécifiques aux types de nœuds se substituent aux modèles et styles généraux définis pour tous les nœuds.

Les propriétés NodeStyle et NodeTemplate sont appliquées à tous les nœuds, indépendamment de leur type. Si ces deux propriétés sont définies, la propriété NodeTemplate est prioritaire.

Les propriétés CurrentNodeTemplate et CurrentNodeStyle sont appliquées aux nœuds qui représentent la page affichée. Si un NodeTemplate est défini en plus de CurrentNodeTemplate, il est ignoré. Si un NodeStyle est défini en plus de CurrentNodeStyle, il est fusionné avec le CurrentNodeStyle pour créer un style fusionné. Celui-ci utilise tous les éléments du CurrentNodeStyle ainsi que tous les éléments supplémentaires du NodeStyle qui ne sont pas en conflit avec le CurrentNodeStyle.

Les propriétés RootNodeTemplate et RootNodeStyle sont appliquées au nœud qui représente la racine de la hiérarchie de navigation du site. Si un NodeTemplate est défini en plus de RootNodeTemplate, il est ignoré. Si un NodeStyle est défini en plus de RootNodeStyle, il est fusionné avec le RootNodeStyle pour créer un style fusionné. Celui-ci utilise tous les éléments du RootNodeStyle ainsi que tous les éléments supplémentaires du NodeStyle qui ne sont pas entrés en conflit avec le CurrentNodeStyle. Enfin, si la page affichée est la page racine du site, le RootNodeTemplate et le RootNodeStyle sont utilisés à la place du CurrentNodeTemplate ou du CurrentNodeStyle.

Le contrôle SiteMapPath utilise le fournisseur de plan de site identifié par la propriété SiteMapProvider comme sa source de données pour obtenir des informations de navigation de site. Si aucun fournisseur n'est spécifié, il utilise le fournisseur par défaut pour le site, identifié dans la propriété SiteMap..::.Provider. Il s'agit généralement d'une instance du fournisseur de plan de site par défaut pour ASP.NET, le XmlSiteMapProvider. Si le contrôle SiteMapPath est utilisé dans un site mais qu'aucun fournisseur de plan de site n'est configuré, il lève une exception HttpException.

Événements

Le contrôle SiteMapPath fournit également des événements que vous pouvez programmer. Cela vous permet d'exécuter une routine personnalisée lorsqu'un événement se produit. Le tableau suivant répertorie les événements pris en charge par le contrôle SiteMapPath.

Événement

Description

ItemCreated

Se produit lorsque le contrôle SiteMapPath crée d'abord un SiteMapNodeItem et l'associe à un SiteMapNode.

ItemDataBound

Se produit lorsqu'un SiteMapNodeItem est lié à des données de plan de site incluses dans le SiteMapNode.

Personnalisation du contrôle SiteMapPath

Les classes dérivées de SiteMapPath substituent la méthode InitializeItem pour personnaliser les contrôles SiteMapNodeItem inclus dans le contrôle de navigation. Pour contrôler complètement la création et l'ajout des objets SiteMapNodeItem au SiteMapPath, les classes dérivées substituent la méthode CreateControlHierarchy.

Accessibilité

Pour plus d'informations sur la configuration de ce contrôle afin qu'il génère des balises conforment aux standards d'accessibilité, consultez Accessibilité dans Visual Studio et ASP.NET et Contrôles et accessibilité ASP.NET.

Syntaxe déclarative

<asp:SiteMapPath
    AccessKey="string"
    BackColor="color name|#dddddd"
    BorderColor="color name|#dddddd"
    BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
        Inset|Outset"
    BorderWidth="size"
    CssClass="string"
    Enabled="True|False"
    EnableTheming="True|False"
    EnableViewState="True|False"
    Font-Bold="True|False"
    Font-Italic="True|False"
    Font-Names="string"
    Font-Overline="True|False"
    Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
        Large|X-Large|XX-Large"
    Font-Strikeout="True|False"
    Font-Underline="True|False"
    ForeColor="color name|#dddddd"
    Height="size"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnItemCreated="ItemCreated event handler"
    OnItemDataBound="ItemDataBound event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    ParentLevelsDisplayed="integer"
    PathDirection="RootToCurrent|CurrentToRoot"
    PathSeparator="string"
    RenderCurrentNodeAsLink="True|False"
    runat="server"
    ShowToolTips="True|False"
    SiteMapProvider="string"
    SkinID="string"
    SkipLinkText="string"
    Style="string"
    TabIndex="integer"
    ToolTip="string"
    Visible="True|False"
    Width="size"
>
        <CurrentNodeStyle />
        <CurrentNodeTemplate>
            <!-- child controls -->
        </CurrentNodeTemplate>
        <NodeStyle />
        <NodeTemplate>
            <!-- child controls -->
        </NodeTemplate>
        <PathSeparatorStyle />
        <PathSeparatorTemplate>
            <!-- child controls -->
        </PathSeparatorTemplate>
        <RootNodeStyle />
        <RootNodeTemplate>
            <!-- child controls -->
        </RootNodeTemplate>
</asp:SiteMapPath>
TopicLocation
Comment : afficher des données sitemap dans des contrôles serveur Web non hiérarchiquesGénération d'applications Web ASP.NET
Comment : afficher des données sitemap dans des contrôles serveur Web non hiérarchiquesGénération d'applications Web ASP.NET dans Visual Studio
Comment : ajouter la navigation de site simpleGénération d'applications Web ASP.NET
Comment : ajouter la navigation de site simpleGénération d'applications Web ASP.NET dans Visual Studio
Comment : ajouter la navigation de site simpledv_vwdcon
Comment : configurer plusieurs plans de sites et fournisseurs sitemapGénération d'applications Web ASP.NET
Comment : configurer plusieurs plans de sites et fournisseurs sitemapGénération d'applications Web ASP.NET dans Visual Studio
Comment : énumérer par programme des nœuds sitemapGénération d'applications Web ASP.NET
Comment : énumérer par programme des nœuds sitemapGénération d'applications Web ASP.NET dans Visual Studio
Comment : filtrer les nœuds récupérés par les contrôles serveur Web SiteMapDataSourceGénération d'applications Web ASP.NET
Comment : filtrer les nœuds récupérés par les contrôles serveur Web SiteMapDataSourceGénération d'applications Web ASP.NET dans Visual Studio
Comment : implémenter des fournisseurs sitemap ASP.NETGénération d'applications Web ASP.NET
Comment : implémenter des fournisseurs sitemap ASP.NETGénération d'applications Web ASP.NET dans Visual Studio
Comment : localiser les données sitemapGénération d'applications Web ASP.NET
Comment : localiser les données sitemapGénération d'applications Web ASP.NET dans Visual Studio
Comment : modifier par programme des nœuds sitemap dans la mémoireGénération d'applications Web ASP.NET
Comment : modifier par programme des nœuds sitemap dans la mémoireGénération d'applications Web ASP.NET dans Visual Studio
Comment : personnaliser l'apparence des contrôles serveur Web SiteMapPathGénération d'applications Web ASP.NET
Comment : personnaliser l'apparence des contrôles serveur Web SiteMapPathGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : ajout de la navigation de site à un site WebGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : ajout de la navigation de site à un site WebGénération d'applications à l'aide de Visual Web Developer

L'exemple de code suivant utilise un contrôle SiteMapPath de façon déclarative dans une page Web Forms. Cet exemple présente quelques règles de priorité régissant l'ordre d'application des modèles et des styles aux nœuds SiteMapPath.

Visual Basic
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
</script>

<html  >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">

            <!-- The following example demonstrates some of the orders
                 of precedence when applying styles and templates to
                 functional nodes of a SiteMapPath.

                 The NodeStyle and RootNodeStyle define the same attributes,
                 but are different and conflict with each other: the
                 RootNodeStyle supersedes NodeStyle, and is the style
                 rendered. Notice, however, that the underline style
                 defined by NodeStyle is still applied.

                 Both a CurrentNodeStyle and a CurrentNodeTemplate are
                 defined. A template supersedes a style for a node
                 type, so CurrentNodeTemplate is displayed and CurrentNodeStyle
                 is ignored. -->

            <asp:SiteMapPath ID="SiteMapPath1" runat="server"
                RenderCurrentNodeAsLink="true"
                NodeStyle-Font-Names="Franklin Gothic Medium"
                NodeStyle-Font-Underline="true"
                NodeStyle-Font-Bold="true"
                RootNodeStyle-Font-Names="Symbol"
                RootNodeStyle-Font-Bold="false"
                CurrentNodeStyle-Font-Names="Verdana"
                CurrentNodeStyle-Font-Size="10pt"
                CurrentNodeStyle-Font-Bold="true"
                CurrentNodeStyle-ForeColor="red"
                CurrentNodeStyle-Font-Underline="false">
                <CURRENTNODETEMPLATE>
                        <asp:Image id="Image1" runat="server" ImageUrl="WebForm2.jpg" AlternateText="WebForm2"/>
                </CURRENTNODETEMPLATE>
            </asp:SiteMapPath>


        </form>
    </body>
</html>
C#
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
</script>

<html  >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">

            <!-- The following example demonstrates some of the orders
                 of precedence when applying styles and templates to
                 functional nodes of a SiteMapPath.

                 The NodeStyle and RootNodeStyle define the same attributes,
                 but are different and conflict with each other: the
                 RootNodeStyle supersedes NodeStyle, and is the style
                 rendered. Notice, however, that the underline style
                 defined by NodeStyle is still applied.

                 Both a CurrentNodeStyle and a CurrentNodeTemplate are
                 defined. A template supersedes a style for a node
                 type, so CurrentNodeTemplate is displayed and CurrentNodeStyle
                 is ignored. -->

            <asp:SiteMapPath ID="SiteMapPath1" runat="server"
                RenderCurrentNodeAsLink="true"
                NodeStyle-Font-Names="Franklin Gothic Medium"
                NodeStyle-Font-Underline="true"
                NodeStyle-Font-Bold="true"
                RootNodeStyle-Font-Names="Symbol"
                RootNodeStyle-Font-Bold="false"
                CurrentNodeStyle-Font-Names="Verdana"
                CurrentNodeStyle-Font-Size="10pt"
                CurrentNodeStyle-Font-Bold="true"
                CurrentNodeStyle-ForeColor="red"
                CurrentNodeStyle-Font-Underline="false">
                <CURRENTNODETEMPLATE>
                        <asp:Image id="Image1" runat="server" ImageUrl="WebForm2.jpg" AlternateText="WebForm2"/>
                </CURRENTNODETEMPLATE>
            </asp:SiteMapPath>


        </form>
    </body>
</html>

L'exemple précédent utilise le fournisseur de plan de site par défaut et un fichier Web.sitemap avec la structure suivante.

<siteMap>
  <siteMapNode title="WebForm1" description="WebForm1" url="WebForm1.aspx" >
    <siteMapNode title="WebForm2" description="WebForm2" url="WebForm2.aspx"/>
  </siteMapNode>
</siteMap>

L'exemple de code suivant montre l'extension et l'ajout de nouvelles fonctionnalités au contrôle SiteMapPath en substituant la méthode InitializeItem. Le contrôle DropDownSiteMapPath ajoute un DropDownList après le nœud actuel afin de faciliter la navigation dans les pages qui sont des nœuds enfants de la page actuelle. Cet exemple montre comment utiliser les objets SiteMapNodeItem, y compris la vérification de leurs SiteMapNodeItemType et l'appel de la méthode OnItemCreated après que les éléments soient créés.

Visual Basic
Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Security.Permissions
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace Samples.AspNet

' The DropDownNavigationPath is a class that extends the SiteMapPath
' control and renders a DropDownList after the CurrentNode. The
' DropDownList displays a list of pages found further down the site map
' hierarchy from the current one. Selecting an item in the DropDownList
' redirects to that page.
'
' For simplicity, the DropDownNavigationPath assumes the
' RootToCurrent PathDirection, and does not apply styles
' or templates the current node.
'
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class DropDownNavigationPath
   Inherits SiteMapPath

   ' Override the InitializeItem method to add a PathSeparator
   ' and DropDownList to the current node.
   Protected Overrides Sub InitializeItem(item As SiteMapNodeItem)

      ' The only node that must be handled is the CurrentNode.
      If item.ItemType = SiteMapNodeItemType.Current Then
         Dim hLink As New HyperLink()

         ' No Theming for the HyperLink.
         hLink.EnableTheming = False
         ' Enable the link of the SiteMapPath is enabled.
         hLink.Enabled = Me.Enabled

         ' Set the properties of the HyperLink to
         ' match those of the corresponding SiteMapNode.
         hLink.NavigateUrl = item.SiteMapNode.Url
         hLink.Text = item.SiteMapNode.Title
         If ShowToolTips Then
            hLink.ToolTip = item.SiteMapNode.Description
         End If

         ' Apply styles or templates to the HyperLink here.
         ' ...
         ' ...
         ' Add the item to the Controls collection.
         item.Controls.Add(hLink)

         AddDropDownListAfterCurrentNode(item)
      Else
         MyBase.InitializeItem(item)
      End If
   End Sub 'InitializeItem

   Private Sub AddDropDownListAfterCurrentNode(item As SiteMapNodeItem)

      Dim childNodes As SiteMapNodeCollection = item.SiteMapNode.ChildNodes

      ' Only do this work if there are child nodes.
      If Not (childNodes Is Nothing) Then

         ' Add another PathSeparator after the CurrentNode.
         Dim finalSeparator As New SiteMapNodeItem(item.ItemIndex, SiteMapNodeItemType.PathSeparator)

         Dim eventArgs As New SiteMapNodeItemEventArgs(finalSeparator)

         InitializeItem(finalSeparator)
         ' Call OnItemCreated every time a SiteMapNodeItem is
         ' created and initialized.
         OnItemCreated(eventArgs)

         ' The pathSeparator does not bind to any SiteMapNode, so
         ' do not call DataBind on the SiteMapNodeItem.
         item.Controls.Add(finalSeparator)

         ' Create a DropDownList and populate it with the children of the
         ' CurrentNode. There are no styles or templates that are applied
         ' to the DropDownList control. If OnSelectedIndexChanged is raised,
         ' the event handler redirects to the page selected.
         ' The CurrentNode has child nodes.
         Dim ddList As New DropDownList()
         ddList.AutoPostBack = True

         AddHandler ddList.SelectedIndexChanged, AddressOf Me.DropDownNavPathEventHandler

         ' Add a ListItem to the DropDownList for every node in the
         ' SiteMapNodes collection.
         Dim node As SiteMapNode
         For Each node In  childNodes
            ddList.Items.Add(New ListItem(node.Title, node.Url))
         Next node

         item.Controls.Add(ddList)
      End If
   End Sub 'AddDropDownListAfterCurrentNode

   ' The sender is the DropDownList.
   Private Sub DropDownNavPathEventHandler(sender As Object, e As EventArgs)
      Dim ddL As DropDownList = CType(sender, DropDownList)

      ' Redirect to the page the user chose.
      If Not (Context Is Nothing) Then
         Context.Response.Redirect(ddL.SelectedValue)
      End If

   End Sub 'DropDownNavPathEventHandler
End Class 'DropDownNavigationPath
End Namespace
C#
using System;
using System.Collections;
using System.ComponentModel;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;


// The DropDownNavigationPath is a class that extends the SiteMapPath
// control and renders a DropDownList after the CurrentNode. The
// DropDownList displays a list of pages found further down the site map
// hierarchy from the current one. Selecting an item in the DropDownList
// redirects to that page.
//
// For simplicity, the DropDownNavigationPath assumes the
// RootToCurrent PathDirection, and does not apply styles
// or templates the current node.
//
[AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
public class DropDownNavigationPath : SiteMapPath {
    // Override the InitializeItem method to add a PathSeparator
    // and DropDownList to the current node.
    protected override void InitializeItem(SiteMapNodeItem item) {

        // The only node that must be handled is the CurrentNode.
        if (item.ItemType == SiteMapNodeItemType.Current)
        {
            HyperLink hLink = new HyperLink();

            // No Theming for the HyperLink.
            hLink.EnableTheming = false;
            // Enable the link of the SiteMapPath is enabled.
            hLink.Enabled = this.Enabled;

            // Set the properties of the HyperLink to
            // match those of the corresponding SiteMapNode.
            hLink.NavigateUrl = item.SiteMapNode.Url;
            hLink.Text        = item.SiteMapNode.Title;
            if (ShowToolTips) {
                hLink.ToolTip = item.SiteMapNode.Description;
            }

            // Apply styles or templates to the HyperLink here.
            // ...
            // ...

            // Add the item to the Controls collection.
            item.Controls.Add(hLink);

            AddDropDownListAfterCurrentNode(item);
        }
        else {
            base.InitializeItem(item);
        }
    }
    private void AddDropDownListAfterCurrentNode(SiteMapNodeItem item) {

        SiteMapNodeCollection childNodes = item.SiteMapNode.ChildNodes;

        // Only do this work if there are child nodes.
        if (childNodes != null) {

            // Add another PathSeparator after the CurrentNode.
            SiteMapNodeItem finalSeparator =
                new SiteMapNodeItem(item.ItemIndex,
                                    SiteMapNodeItemType.PathSeparator);

            SiteMapNodeItemEventArgs eventArgs =
                new SiteMapNodeItemEventArgs(finalSeparator);

            InitializeItem(finalSeparator);
            // Call OnItemCreated every time a SiteMapNodeItem is
            // created and initialized.
            OnItemCreated(eventArgs);

            // The pathSeparator does not bind to any SiteMapNode, so
            // do not call DataBind on the SiteMapNodeItem.
            item.Controls.Add(finalSeparator);

            // Create a DropDownList and populate it with the children of the
            // CurrentNode. There are no styles or templates that are applied
            // to the DropDownList control. If OnSelectedIndexChanged is raised,
            // the event handler redirects to the page selected.
            // The CurrentNode has child nodes.
            DropDownList ddList = new DropDownList();
            ddList.AutoPostBack = true;

            ddList.SelectedIndexChanged += new EventHandler(this.DropDownNavPathEventHandler);

            // Add a ListItem to the DropDownList for every node in the
            // SiteMapNodes collection.
            foreach (SiteMapNode node in childNodes) {
                ddList.Items.Add(new ListItem(node.Title, node.Url));
            }

            item.Controls.Add(ddList);
        }
    }

    // The sender is the DropDownList.
    private void DropDownNavPathEventHandler(object sender,EventArgs e) {
        DropDownList ddL = sender as DropDownList;

        // Redirect to the page the user chose.
        if (Context != null)
            Context.Response.Redirect(ddL.SelectedValue);
    }
}

.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Contenu de la communauté   Qu'est-ce que le Contenu de la communauté ?
Ajouter du contenu RSS  Annotations
Processing
© 2012 Microsoft. Tous droits réservés. Conditions d'utilisation | Marques | Confidentialité
Page view tracker