SiteMapDataSource.StartingNodeOffset Свойство

Определение

Возвращает или задает положительное или отрицательное целочисленное смещение от начального узла, определяющее корневую иерархию, которая раскрывается элементом управления источником данных.Gets or sets a positive or negative integer offset from the starting node that determines the root hierarchy that is exposed by the data source control.

public:
 virtual property int StartingNodeOffset { int get(); void set(int value); };
public virtual int StartingNodeOffset { get; set; }
member this.StartingNodeOffset : int with get, set
Public Overridable Property StartingNodeOffset As Integer

Значение свойства

Значение по умолчанию равно 0, что указывает, что корневая иерархия, раскрываемая объектом SiteMapDataSource, совпадает с начальным узлом.The default is 0, which indicates that the root hierarchy exposed by the SiteMapDataSource is the same as the starting node.

Примеры

В следующем примере кода демонстрируется действие свойств StartingNodeUrl и StartingNodeOffset.The following code example demonstrates the effect of the StartingNodeUrl and StartingNodeOffset properties. Пример состоит из нескольких ASP.NET страниц, главной страницы, раздела главной страницы и файла Web. sitemap.The example consists of several ASP.NET pages, a master page, master page section, and a Web.sitemap file. Файл Web. sitemap определяет иерархическую структуру сайта.The Web.sitemap file defines the hierarchical structure of the site. В этом примере кода определяется ряд страниц, определяемых уникальными URL-адресами, например 1. aspx, 2. aspx, A. aspx и B. aspx, как показано ниже.For this code example, it defines a number of pages identified by unique URLs, such as 1.aspx, 2.aspx, A.aspx, and B.aspx, as follows:

Страница Site. master содержит SiteMapDataSource и элементы управления TreeView внутри элемента управления ContentPlaceHolder.The Site.master page contains the SiteMapDataSource and a TreeView controls inside a ContentPlaceHolder control. Он определяет начальный узел предоставленной иерархии как Default. aspx, используя свойство StartingNodeUrl.It identifies the starting node of the exposed hierarchy as Default.aspx, using the StartingNodeUrl property. Файл Site. master используется только на странице Default. aspx.The Site.master file is used by the Default.aspx page only.

Все остальные страницы, например 1. aspx, 2. aspx, A. aspx и т. д., используют главную страницу раздела. master.All other pages, such as 1.aspx, 2.aspx, A.aspx, and so on, use the Section.master master page. Эта Главная страница очень похожа на site. master, однако она содержит несколько SiteMapDataSource элементов управления, с которыми можно экспериментировать.This master page is very similar to Site.master, however it contains several SiteMapDataSource controls that you can experiment with. Элемент управления TreeView, отображающий данные карт веб-узла, изначально привязан к SiteMapDataSource1, который указывает StartingNodeOffset из 1.The TreeView control that displays site map data is initially bound to SiteMapDataSource1, which specifies a StartingNodeOffset of 1. Это означает, что отображается родительский узел запрашиваемой в данный момент страницы.This indicates that the parent node of the currently requested page is displayed. При просмотре страницы 1. aspx иерархия, отображаемая TreeView, — это, 1, 2.If you view page 1.aspx, the hierarchy displayed by the TreeView is A, 1, 2. Однако при просмотре страницы 4. aspx иерархия будет иметь вид B, 3, 4.However, if you view page 4.aspx, the hierarchy is B, 3, 4.

Если изменить DataSourceID для TreeView SiteMapDataSource2, элемент управления TreeView отображает данные карт узла по-разному.If you change the DataSourceID for the TreeView to SiteMapDataSource2, the TreeView control displays site map data differently. При использовании SiteMapDataSource2свойству StartFromCurrentNode присваивается значение true. Это означает, что данные карт узла отображаются относительно текущей запрошенной страницы, а свойство StartingNodeOffset имеет значение-1, что означает, что отображается один уровень дочерних узлов. , если это возможно.When you use SiteMapDataSource2, the StartFromCurrentNode property is set to true, which means that the site map data is displayed relative to the currently requested page and the StartingNodeOffset property is set to -1, indicating that one level of child nodes is displayed, when possible. При просмотре страницы A. aspx отображаемая иерархия является иерархией текущего уровня, включая все родственные элементы, такие как B и C. При просмотре 1. aspx родительские узлы больше не отображаются.When you view the A.aspx page, the hierarchy that is displayed is the hierarchy of the current level, including all siblings, such as B and C. When you view 1.aspx, the parent nodes are no longer displayed.

В следующем примере кода показана одна из ASP.NET страниц, которые можно использовать с другими компонентами этого примера кода.The following code example demonstrates one of the ASP.NET pages you can use with the other components of this code example.

<%@ Page MasterPageFile="~/Section.master" Title="Untitled Page" %>  
  
<asp:Content ID="Content1" ContentPlaceHolderID=MainBody Runat=Server>  
  <h2>1.aspx</h2>  
</asp:Content>  

Комментарии

Если свойству StartingNodeOffset присвоено значение, отличное от 0, оно влияет на начальный узел и на иерархию данных схемы узла, предоставляемую элементом управления SiteMapDataSource.If the StartingNodeOffset property is set to a value other than 0, it affects the starting node and with it the site map data hierarchy that is exposed by the SiteMapDataSource control. Отрицательное или положительное целочисленное значение StartingNodeOffset определяет количество уровней (вверх или вниз) в иерархии карт узла от начального узла, идентифицируемого StartFromCurrentNode, и StartingNodeUrl свойства для смещения начального узла поддерева, предоставленного элемент управления источником данных.The negative or positive integer value of the StartingNodeOffset identifies the number of levels up or down the site map hierarchy from the starting node that is identified by the StartFromCurrentNode and StartingNodeUrl properties to offset the starting node of the subtree that is exposed by data source control.

Если идентифицированным начальным узлом является узел, представляющий запрашиваемую в данный момент страницу, StartingNodeOffset игнорируется.If the identified starting node is the node that represents the currently requested page, the StartingNodeOffset is ignored.

Если для свойства StartingNodeOffset задано отрицательное числоn, начальный узел поддерева, предоставляемый элементом управления источником данных, является иерархическим уровнем узла n , расположенным выше указанного начального узла.If the StartingNodeOffset property is set to a negative number -n, the starting node of the subtree that is exposed by the data source control is the ancestor node n hierarchical levels above the identified starting node. Если значение n больше числа уровней предков в иерархическом дереве, начальный узел поддерева является корневым узлом иерархии карт сайта.If the value n is greater than the number of ancestor levels in the hierarchical tree, the starting node of the subtree is the root node of the site map hierarchy.

Если для свойства StartingNodeOffset задано положительное число +n, начальный узел поддерева, который представляет собой, является дочерним узлом n уровней ниже идентифицированного начального узла.If the StartingNodeOffset property is set to a positive number +n, the starting node of the subtree that is exposed is a child node n levels below the identified starting node. Так как в иерархии может существовать более одной ветви дочерних узлов, SiteMapDataSource пытается разрешить дочерний узел непосредственно по пути между идентифицированным начальным узлом и узлом, который представляет запрашиваемую в данный момент страницу, если это возможно.Because more than one branch of child nodes might exist in the hierarchy, the SiteMapDataSource attempts to resolve a child node directly on the path between the identified starting node and the node that represents the currently requested page, if possible. Если узел, представляющий запрашиваемую в данный момент страницу, не находится в поддереве идентифицированного начального узла, значение свойства StartingNodeOffset игнорируется.If the node that represents the currently requested page is not in the subtree of the identified starting node, the value of the StartingNodeOffset property is ignored. Если узел, представляющий запрашиваемую в данный момент страницу, меньше n уровней ниже указанного начального узла, в качестве начального узла используется текущий запрошенный узел страницы.If the node that represents the currently requested page is less than n levels below the identified starting node, the currently requested page node is used as the starting node.

Значение свойства StartingNodeOffset сохраняется в состоянии представления.The value of the StartingNodeOffset property is stored in view state.

Применяется к

Дополнительно