次の方法で共有


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など、一意の URL で識別されるページの数を定義します。

Site.master ページには、 SiteMapDataSource コントロールと TreeView コントロール内の コントロールが ContentPlaceHolder 含まれています。 これは、 プロパティを使用して StartingNodeUrl 、公開されている階層の開始ノードをDefault.aspxとして識別します。 Site.master ファイルは、Default.aspx ページでのみ使用されます。

他のすべてのページ (1.aspx、2.aspx、A.aspxなど) は、Section.master マスター ページを使用します。 このマスター ページは Site.master とよく似ていますが、実験できるいくつかの SiteMapDataSource コントロールが含まれています。 TreeViewサイト マップ データを表示するコントロールは、最初は にSiteMapDataSource1バインドされます。これは、 を 1 に指定しますStartingNodeOffset。 これは、現在要求されているページの親ノードが表示されることを示します。 ページ 1.aspxを表示する場合、 によって TreeView 表示される階層は A、1、2 です。 ただし、ページ 4.aspxを表示する場合、階層は B、3、4 になります。

TreeViewDataSourceIDSiteMapDataSource2変更すると、コントロールによってTreeViewサイト マップ データが異なる方法で表示されます。 を使用 SiteMapDataSource2すると、 StartFromCurrentNode プロパティは に true設定されます。つまり、サイト マップ データは現在要求されているページに対して相対的に表示され StartingNodeOffset 、可能な場合は 1 レベルの子ノードが表示されることを示す -1 に設定されます。 A.aspx ページを表示すると、表示される階層は、B や C などのすべての兄弟を含む、現在のレベルの階層になります。1.aspxを表示すると、親ノードは表示されなくなります。

次のコード例は、このコード例の他のコンポーネントで使用できる ASP.NET ページの 1 つを示しています。

<%@ 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 値はビュー ステートに格納されます。

適用対象

こちらもご覧ください