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 содержит SiteMapDataSource элементы управления ContentPlaceHolder и внутри TreeView элемента управления . Он определяет начальный узел предоставленной иерархии как Default.aspx с помощью StartingNodeUrl свойства . Файл Site.master используется только страницей Default.aspx.
Все остальные страницы, такие как 1.aspx, 2.aspx, A.aspx и т. д., используют главную страницу Section.master. Эта эталонная страница очень похожа на Site.master, но содержит несколько SiteMapDataSource элементов управления, с которыми можно экспериментировать. Элемент TreeView управления, отображающий данные карты сайта, изначально привязан к SiteMapDataSource1
, который задает StartingNodeOffset значение 1. Это означает, что отображается родительский узел запрашиваемой в данный момент страницы. При просмотре 1.aspx страницы отображается иерархия TreeView A, 1, 2. Однако при просмотре 4.aspx страницы иерархия будет B, 3, 4.
Если изменить DataSourceID для на TreeViewSiteMapDataSource2
, TreeView элемент управления отображает данные карты сайта по-разному. При использовании SiteMapDataSource2
свойству StartFromCurrentNode присваивается значение 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 определяет число уровней вверх или вниз иерархии карты сайта от начального узла, определяемого свойствами StartFromCurrentNode и StartingNodeUrl для смещения начального узла поддеревья, предоставляемого системой управления источником данных.
Если идентифицированным начальным узлом является узел, представляющий запрашиваемую в данный момент страницу StartingNodeOffset , объект игнорируется.
Если свойству StartingNodeOffset присвоено отрицательное число -n, начальным узлом поддеревья, предоставляемого элементом управления источником данных, является узел-предок n иерархических уровней выше указанного начального узла. Если значение n больше числа уровней предков в иерархическом дереве, начальным узлом поддеревого является корневой узел иерархии карты сайта.
Если свойству StartingNodeOffset задано положительное число +n, начальным узлом поддеревья, которое предоставляется, является дочерним узлом n уровней ниже указанного начального узла. Так как в иерархии может существовать несколько дочерних узлов, SiteMapDataSource предпринимается попытка разрешить дочерний узел непосредственно по пути между указанным начальным узлом и узлом, представляющим запрашиваемую в данный момент страницу, если это возможно. Если узел, представляющий запрашиваемую в данный момент страницу, не находится в поддереве идентифицированного начального узла, значение StartingNodeOffset свойства игнорируется. Если узел, представляющий запрашиваемую в данный момент страницу, меньше n уровней ниже указанного начального узла, в качестве начального узла используется запрошенный в данный момент узел страницы.
Значение StartingNodeOffset свойства хранится в состоянии представления.