SiteMapDataSource.StartingNodeOffset プロパティ
アセンブリ: System.Web (system.web.dll 内)

Dim instance As SiteMapDataSource Dim value As Integer value = instance.StartingNodeOffset instance.StartingNodeOffset = value
/** @property */ public int get_StartingNodeOffset () /** @property */ public void set_StartingNodeOffset (int value)
public function get StartingNodeOffset () : int public function set StartingNodeOffset (value : int)
既定値は 0 で、SiteMapDataSource によって公開されるルート階層が開始ノードであることを示します。

StartingNodeOffset プロパティに 0 以外の値が設定されている場合は、その設定は開始ノードおよび SiteMapDataSource コントロールによって公開されるサイト マップ データの階層に影響します。StartingNodeOffset の負の整数値または正の整数値は、StartFromCurrentNode プロパティと StartingNodeUrl プロパティで識別される開始ノードからデータ ソース コントロールによって公開されるサブツリーの開始ノードへ、サイト マップ階層を上方向または下方向へオフセットするレベル数を示します。
識別される開始ノードが現在要求されているページを表すノードである場合は、StartingNodeOffset は無視されます。
StartingNodeOffset プロパティに負の数値 -n が設定されている場合、データ ソース コントロールによって公開されるサブツリーの開始ノードは、識別される開始ノードより n レベル上の階層の先祖ノードになります。値 n が階層ツリーにある先祖レベルの数より大きい場合は、サブツリーの開始ノードがサイト マップ階層のルート ノードになります。
StartingNodeOffset プロパティに正の数値 +n が設定されている場合、公開されるサブツリーの開始ノードは、識別される開始ノードより n レベル下の子ノードになります。階層内で子ノードが複数に分岐している可能性があるため、現在要求されているページがある場合は、SiteMapDataSource は、識別される開始ノードと現在要求されているページを表すノード間のパス上で子ノードを直接解決します。現在要求されているページを表すノードが識別される開始ノードのサブツリー内にない場合は、StartingNodeOffset プロパティの値は無視されます。識別される開始ノードから現在要求されているページを表すノードへの下方向のレベルの数が n より小さい場合は、現在要求されているページのノードが開始ノードとして使用されます。

StartingNodeUrl プロパティと StartingNodeOffset プロパティの影響を示すコード例を次に示します。この例では、複数の ASP.NET ページ、1 つのマスタ ページ、マスタ ページ セクション、および 1 つの Web.sitemap ファイルで構成されます。Web.sitemap ファイルは、サイトの階層構造を定義します。このコード例では、1.aspx、2.aspx、A.aspx、B.aspx などのように一意の URL で識別される多数のページを定義します。
<siteMap> <siteMapNode url="Default.aspx" title="Root" description="" roles=""> <siteMapNode url="A.aspx" title="A" description="" roles=""> <siteMapNode url="1.aspx" title="1" description="" roles="" /> <siteMapNode url="2.aspx" title="2" description="" roles="" /> </siteMapNode> <siteMapNode url="B.aspx" title="B" description="" roles=""> <siteMapNode url="3.aspx" title="3" description="" roles="" /> <siteMapNode url="4.aspx" title="4" description="" roles="" /> </siteMapNode> <siteMapNode url="C.aspx" title="C" description="" roles=""> <siteMapNode url="5.aspx" title="5" description="" roles="" /> <siteMapNode url="6.aspx" title="6" description="" roles="" /> </siteMapNode> </siteMapNode> </siteMap>
Site.master ページでは、ContentPlaceHolder コントロール内に SiteMapDataSource コントロールと TreeView コントロールが含まれています。これは StartingNodeUrl プロパティを使用して、Default.aspx として公開される階層の開始ノードを識別します。Site.master ファイルは Default.aspx ページでのみ使用されます。
<%@ Master Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <script runat="server"> </script> <html > <head id="Head1" runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:ContentPlaceHolder ID="SiteMap" Runat="server"> Pick a node:<br /><br /> <asp:TreeView ID="TreeView1" Runat="server" ShowExpandCollapse="false" DataSourceID="SiteMapDataSource1" MaxDataBindDepth="1" /> <asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server" StartingNodeUrl="~/Default.aspx" ShowStartingNode="false" /> </asp:ContentPlaceHolder> <asp:ContentPlaceHolder ID="MainBody" Runat="server"/> </div> </form> </body> </html>
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 になります。
TreeView の DataSourceID を SiteMapDataSource2 に変更すると、TreeView コントロールでのサイト マップ データの表示が変わります。SiteMapDataSource2 を使用するときは、StartFromCurrentNode プロパティは true に設定されます。これは、サイト マップ データが現在要求されているページに相対して表示され、StartingNodeOffset プロパティが -1 に設定されることを意味します。また、可能な場合に子ノードの 1 つのレベルが表示されることも示します。A.aspx ページを表示するときに表示される階層は、現在のレベルの階層で、B や C などのすべての兄弟が含まれます。1.aspx を表示すると、親ノードは表示されなくなります。
<%@ Master Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <script runat="server"> </script> <html > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:ContentPlaceHolder ID="SiteMap" Runat="server"> <b>Current Location:</b> <asp:SiteMapPath ID="SiteMapPath1" Runat="Server"> <CurrentNodeTemplate> <asp:DropDownList ID="DropDownList1" DataTextField="Title" DataValueField="Url" AutoPostBack="true" OnDataBound="DropDownList1_DataBound" DataSourceID="SiteMapDataSource2" Runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" /> </CurrentNodeTemplate> </asp:SiteMapPath> <br /> <br /> <a href='<%= System.Web.SiteMap.RootNode.Url %>'>Back to Top</a> <br /> <br /> <asp:TreeView ID="TreeView1" ShowExpandCollapse="false" Runat="server" DataSourceID="SiteMapDataSource1" /> <asp:SiteMapDataSource ID="SiteMapDataSource2" Runat="server" StartingNodeOffset="-1" ShowStartingNode="false" StartFromCurrentNode="true" /> <asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server" StartingNodeOffset="1" /> </asp:ContentPlaceHolder> <asp:ContentPlaceHolder ID="MainBody" Runat="server" /> </div> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からSiteMapDataSource.StartingNodeOffset プロパティを検索する場合は、下記のリンクをクリックしてください。

- SiteMapDataSource.StartingNodeOffset プロパティのページへのリンク