共用方式為


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 檔案定義了網站的階層結構。 在這個程式碼範例中,它定義了若干由獨特網址識別的頁面,如1.aspx、2.aspx、A.aspx 和 B.aspx,如下:

Site.master 頁面包含 和 SiteMapDataSourceTreeView 控制項內的 ContentPlaceHolder 控制項。 它會利用 屬性 StartingNodeUrl 將暴露階層的起始節點識別為 Default.aspx。 Site.master 檔案僅用於Default.aspx頁面。

其他所有頁面,如 1.aspx、2.aspx、A.aspx 等,則使用 Section.master 主頁。 這個母版頁面與 Site.master 非常相似,但包含多個 SiteMapDataSource 控制項供你嘗試。 顯示網站地圖資料的 TreeView 控制項最初綁定於 SiteMapDataSource1,該控制項指定 a StartingNodeOffset 為 1。 這表示目前請求頁面的父節點已被顯示。 如果你查看第 1.aspx 頁,會顯示的 TreeView 階層是 A、1、2。 不過,如果你查看第 4.aspx 頁,階層是 B、3、4。

如果你更改 的 TreeViewSiteMapDataSource2DataSourceID控制器會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負或正整數值用來識別從起始節點起,從 and StartingNodeUrl 屬性所識別StartFromCurrentNode的站點地圖階層上下層級數,以偏移由資料來源控制所暴露的子樹起始節點。

若已識別的起始節點是代表當前請求頁面的節點,則忽略該 StartingNodeOffset 節點。

若屬性 StartingNodeOffset 設定為負數 -n,則資料來源控制所暴露的子樹起始節點為位於該起始節點之上 n 層級的祖先節點。 若值 n 大於階層樹中的祖先層級數,則子樹的起始節點即為網站地圖階層的根節點。

StartingNodeOffset 屬性設定為正數 +n,則暴露子樹的起始節點為位於該起始節點下方 n 層的子節點。 由於階層中可能存在多個子節點分支, SiteMapDataSource 嘗試直接解析位於已知起始節點與代表當前請求頁面節點之間的路徑上。 如果代表當前請求頁面的節點不在已識別起始節點的子樹中,則該屬性的值 StartingNodeOffset 會被忽略。 若代表當前請求頁面的節點低於已識別起始節點 的 n 層級,則該當前請求頁面節點作為起始節點。

財產價值 StartingNodeOffset 會以視圖狀態儲存。

適用於

另請參閱