SiteMapDataSource.StartingNodeOffset Свойство

Определение

Возвращает или задает положительное или отрицательное целочисленное смещение от начального узла, определяющего корневую иерархию, которая предоставляется элементом управления источниками данных.

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 начальным узлом, совпадает с начальным узлом.

Примеры

В следующем примере кода показано влияние StartingNodeUrl и StartingNodeOffset свойства. Пример состоит из нескольких ASP.NET страниц, главной страницы, раздела главной страницы и файла web.sitemap. Файл Web.sitemap определяет иерархическую структуру сайта. В этом примере кода определяется ряд страниц, определяемых уникальными URL-адресами, такими как 1.aspx, 2.aspx, A.aspx и B.aspx следующим образом:

Страница Site.master содержит SiteMapDataSourceTreeView элементы управления и элементы управления внутри ContentPlaceHolder элемента управления. Он определяет начальный узел предоставленной иерархии как Default.aspx с помощью StartingNodeUrl свойства. Файл Site.master используется только страницей Default.aspx.

Все остальные страницы, такие как 1.aspx, 2.aspx, A.aspx и т. д., используйте главную страницу Section.master. Эта эталонная страница очень похожа на Site.master, однако она содержит несколько SiteMapDataSource элементов управления, с которыми можно экспериментировать. Элемент TreeView управления, отображающий данные карты сайта, изначально привязан SiteMapDataSource1StartingNodeOffset к 1. Это означает, что отображается родительский узел запрашиваемой страницы. Если вы просматриваете страницу 1.aspx, иерархия, отображаемая значением TreeView A, 1, 2. Однако если вы просматриваете страницу 4.aspx, иерархия — B, 3, 4.

Если изменить DataSourceID для этого TreeViewSiteMapDataSource2элемента управления, элемент TreeView управления отображает данные карты сайта по-другому. При использовании SiteMapDataSource2StartFromCurrentNode свойство имеет trueзначение ,что означает, что данные карты сайта отображаются относительно запрашиваемой страницы и StartingNodeOffset свойство имеет значение -1, указывающее, что по возможности отображается один уровень дочерних узлов. При просмотре страницы A.aspx отображаемая иерархия — это иерархия текущего уровня, включая все братья и сестры, такие как B и C. При просмотре 1.aspx родительские узлы больше не отображаются.

В следующем примере кода показан один из ASP.NET страниц, которые можно использовать с другими компонентами этого примера кода.

<%@ Page MasterPageFile="~/Section.master" Title="Untitled Page" %>

<asp:Content ID="Content1" ContentPlaceHolderID=MainBody Runat=Server>
  <h2>1.aspx</h2>
</asp:Content>

Комментарии

StartingNodeOffset Если для свойства задано значение, отличное от 0, он влияет на начальный узел и с ним иерархию данных карты сайта, которая предоставляется элементом SiteMapDataSource управления. Отрицательное или положительное целочисленное значение StartingNodeOffset определяет количество уровней вверх или вниз иерархии карты сайта из начального узла, который определяется StartFromCurrentNodeStartingNodeUrl начальным узлом поддерев, который предоставляется системой управления источниками данных.

Если определенный начальный узел является узлом, который представляет запрошенную в данный момент страницу, StartingNodeOffset игнорируется.

StartingNodeOffset Если для свойства задано отрицательное число -n, начальный узел поддерев, предоставляемый элементом управления источником данных, является предком узла n иерархических уровней выше идентифицированного начального узла. Если значение n больше числа уровней предков в иерархическом дереве, начальный узел поддерев — корневой узел иерархии карты сайта.

StartingNodeOffset Если свойству присвоено положительное число +n, начальный узел поддерев, который предоставляется, является дочерним узлом n уровней под идентифицированным начальным узлом. Так как в иерархии может существовать несколько дочерних узлов, SiteMapDataSource попытки разрешить дочерний узел непосредственно на пути между идентифицированным начальным узлом и узлом, представляющим запрашиваемую страницу, если это возможно. Если узел, представляющий запрошенную в данный момент страницу, не находится в поддереве определенного начального узла, значение StartingNodeOffset свойства игнорируется. Если узел, представляющий запрошенную в данный момент страницу, меньше n уровней ниже определенного начального узла, текущий запрошенный узел страницы используется в качестве начального узла.

Значение StartingNodeOffset свойства хранится в состоянии представления.

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

См. также раздел