Partilhar via


SiteMapDataSource.StartingNodeOffset Propriedade

Definição

Obtém ou define o deslocamento de um inteiro positivo ou negativo no nó inicial que determina a hierarquia raiz exposta pelo controle de fonte de dados.

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

Valor da propriedade

O padrão é 0, que indica que a hierarquia raiz exposta pelo SiteMapDataSource é o mesmo que o nó inicial.

Exemplos

O exemplo de código a seguir demonstra o efeito das StartingNodeUrl propriedades e StartingNodeOffset . O exemplo consiste em várias páginas ASP.NET, uma página mestra, uma seção de página mestra e um arquivo Web.sitemap. O arquivo Web.sitemap define a estrutura hierárquica do site. Para este exemplo de código, ele define várias páginas identificadas por URLs exclusivas, como 1.aspx, 2.aspx, A.aspx e B.aspx, da seguinte maneira:

A página Site.master contém os SiteMapDataSource controles e TreeView dentro de um ContentPlaceHolder controle. Ele identifica o nó inicial da hierarquia exposta como Default.aspx, usando a StartingNodeUrl propriedade . O arquivo Site.master é usado apenas pela página Default.aspx.

Todas as outras páginas, como 1.aspx, 2.aspx, A.aspx e assim por diante, usam a página mestra Section.master. Esta página mestra é muito semelhante a Site.master, no entanto, ela contém vários SiteMapDataSource controles com os quais você pode experimentar. O TreeView controle que exibe dados do mapa do site é inicialmente associado a SiteMapDataSource1, que especifica um StartingNodeOffset de 1. Isso indica que o nó pai da página solicitada no momento é exibido. Se você exibir a página 1.aspx, a hierarquia exibida pelo TreeView será A, 1, 2. No entanto, se você exibir a página 4.aspx, a hierarquia será B, 3, 4.

Se você alterar o DataSourceID para para TreeViewSiteMapDataSource2, o TreeView controle exibirá os dados do mapa do site de maneira diferente. Quando você usa SiteMapDataSource2, a StartFromCurrentNode propriedade é definida como true, o que significa que os dados do mapa do site são exibidos em relação à página solicitada no momento e a StartingNodeOffset propriedade é definida como -1, indicando que um nível de nós filho é exibido, quando possível. Quando você exibe a página A.aspx, a hierarquia exibida é a hierarquia do nível atual, incluindo todos os irmãos, como B e C. Quando você exibe 1.aspx, os nós pai não são mais exibidos.

O exemplo de código a seguir demonstra uma das páginas de ASP.NET que você pode usar com os outros componentes deste exemplo de código.

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

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

Comentários

Se a StartingNodeOffset propriedade for definida como um valor diferente de 0, ela afetará o nó inicial e, com ela, a hierarquia de dados do mapa do site exposta pelo SiteMapDataSource controle. O valor inteiro negativo ou positivo do StartingNodeOffset identifica o número de níveis acima ou abaixo da hierarquia do mapa do site do nó inicial identificado pelas StartFromCurrentNode propriedades e StartingNodeUrl para compensar o nó inicial da subárvore exposto pelo controle da fonte de dados.

Se o nó inicial identificado for o nó que representa a página solicitada no momento, o StartingNodeOffset será ignorado.

Se a StartingNodeOffset propriedade for definida como um número negativo -n, o nó inicial da subárvore exposto pelo controle da fonte de dados será o nó ancestral n níveis hierárquicos acima do nó inicial identificado. Se o valor n for maior que o número de níveis ancestrais na árvore hierárquica, o nó inicial da subárvore será o nó raiz da hierarquia do mapa do site.

Se a StartingNodeOffset propriedade for definida como um número positivo +n, o nó inicial da subárvore exposta será um nó filho n níveis abaixo do nó inicial identificado. Como mais de um branch de nós filho pode existir na hierarquia, as SiteMapDataSource tentativas de resolver um nó filho diretamente no caminho entre o nó inicial identificado e o nó que representa a página solicitada no momento, se possível. Se o nó que representa a página solicitada no momento não estiver na subárvore do nó inicial identificado, o valor da StartingNodeOffset propriedade será ignorado. Se o nó que representa a página solicitada no momento for menor que n níveis abaixo do nó inicial identificado, o nó de página solicitado no momento será usado como o nó inicial.

O valor da StartingNodeOffset propriedade é armazenado no estado de exibição.

Aplica-se a

Confira também