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 所公開的根階層架構與開始節點相同。

範例

下列程式碼範例示範 和 StartingNodeOffset 屬性的效果 StartingNodeUrl 。 此範例包含數個 ASP.NET 網頁、主版頁面、主版頁面區段和 Web.sitemap 檔案。 Web.sitemap 檔案會定義網站的階層式結構。 在此程式碼範例中,它會定義由唯一 URL 識別的頁數,例如 1.aspx、2.aspx、A.aspx 和 B.aspx,如下所示:

Site.master 頁面包含 SiteMapDataSource 控制項內的 ContentPlaceHolderTreeView 控制項。 它會使用 StartingNodeUrl 屬性,將公開階層的起始節點識別為 Default.aspx。 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。

如果您將 的 變更 DataSourceIDSiteMapDataSource2 ,控制項會 TreeView 以不同的方式顯示 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 會從 和 StartingNodeUrl 屬性所 StartFromCurrentNode 識別的起始節點,識別月臺地圖階層向上或向下的層級數目,以位移資料來源控制項所公開之子樹的起始節點。

如果識別的起始節點是代表目前要求頁面的節點, StartingNodeOffset 則會忽略 。

StartingNodeOffset如果屬性設定為負數 -n,資料來源控制項所公開之子樹的起始節點是所識別起始節點上方的上階節點n階層式層級。 如果 n 值大於階層式樹狀結構中的上階層級數目,則子樹的起始節點是網站地圖階層的根節點。

StartingNodeOffset如果屬性設定為正數 +n,則公開之子樹的起始節點是識別起始節點下方的子節點n個層級。 由於階層中可能有一個以上的子節點分支存在, SiteMapDataSource 因此如果可能的話,會嘗試直接解析所識別起始節點與代表目前要求頁面之節點之間的路徑子節點。 如果表示目前要求之頁面的節點不在所識別起始節點的子樹中,則會忽略 屬性的值 StartingNodeOffset 。 如果代表目前要求之頁面的節點小於識別起始節點下方 的 n 個層級,則目前要求的頁面節點會當做起始節點使用。

屬性的值 StartingNodeOffset 會儲存在檢視狀態中。

適用於

另請參閱