SiteMapNode Konstruktorok
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Inicializálja az SiteMapNode osztály új példányát, és társítja a megadott SiteMapProvider objektummal.
Túlterhelések
| Name | Description |
|---|---|
| SiteMapNode(SiteMapProvider, String) |
Inicializálja az SiteMapNode osztály új példányát a megadottak |
| SiteMapNode(SiteMapProvider, String, String) |
Inicializálja az SiteMapNode osztály új példányát a megadott URL-cím, |
| SiteMapNode(SiteMapProvider, String, String, String) |
Inicializálja az SiteMapNode osztály új példányát a megadott URL-címmel, a |
| SiteMapNode(SiteMapProvider, String, String, String, String) |
Inicializálja az SiteMapNode osztály új példányát a megadott URL-címmel, a |
| SiteMapNode(SiteMapProvider, String, String, String, String, IList, NameValueCollection, NameValueCollection, String) |
Inicializálja az SiteMapNode osztály új példányát a megadott helytérkép-szolgáltató használatával, amely kezeli a csomópontot, az URL-címet, a címet, a leírást, a szerepköröket, a további attribútumokat, valamint a honosítás explicit és implicit erőforráskulcsait. |
SiteMapNode(SiteMapProvider, String)
Inicializálja az SiteMapNode osztály új példányát a megadottak key alapján a csomópont által képviselt lap és a csomópontot kezelő helytérkép-szolgáltató azonosításához.
public:
SiteMapNode(System::Web::SiteMapProvider ^ provider, System::String ^ key);
public SiteMapNode(System.Web.SiteMapProvider provider, string key);
new System.Web.SiteMapNode : System.Web.SiteMapProvider * string -> System.Web.SiteMapNode
Public Sub New (provider As SiteMapProvider, key As String)
Paraméterek
- provider
- SiteMapProvider
Az SiteMapProvider a csomópont, amelyhez a csomópont társítva van.
- key
- String
Szolgáltatóspecifikus keresési kulcs.
Kivételek
Megjegyzések
A XmlSiteMapProvider osztály, amely a ASP.NET alapértelmezett SiteMapProvider szolgáltatói implementációja, a SiteMapNode.Url tulajdonságot használja keresési kulcsként, ha a csomóponthoz van megadva (ha nincs megadva URL-cím, a rendszer nyomkövetési azonosítót hoz létre a csomóponthoz). Ezért minden olyan SiteMapNode vezérlőelemnek, amely egy URL-címet biztosít, és amelyet a XmlSiteMapProvider szolgáltató használ, egyedi URL-címvel kell rendelkeznie a szolgáltató hatókörén belül.
A következőre érvényes:
SiteMapNode(SiteMapProvider, String, String)
Inicializálja az SiteMapNode osztály új példányát a megadott URL-cím, key a csomópont által képviselt lap és a csomópontot kezelő helytérkép-szolgáltató azonosításához.
public:
SiteMapNode(System::Web::SiteMapProvider ^ provider, System::String ^ key, System::String ^ url);
public SiteMapNode(System.Web.SiteMapProvider provider, string key, string url);
new System.Web.SiteMapNode : System.Web.SiteMapProvider * string * string -> System.Web.SiteMapNode
Public Sub New (provider As SiteMapProvider, key As String, url As String)
Paraméterek
- provider
- SiteMapProvider
Az SiteMapProvider a csomópont, amelyhez a csomópont társítva van.
- key
- String
Szolgáltatóspecifikus keresési kulcs.
- url
- String
Annak a lapnak az URL-címe, amelyet a csomópont a webhelyen belül jelöl.
Kivételek
Példák
Az alábbi példakód bemutatja, hogyan hozhat létre új SiteMapNodeCollection gyűjteményt a SiteMapNodeCollection konstruktor használatával, majd hogyan adhat hozzá elemeket a Add metódussal.
// The LoadSiteMapData() method loads site navigation
// data from persistent storage into a DataTable.
DataTable siteMap = LoadSiteMapData();
// Create a SiteMapNodeCollection.
SiteMapNodeCollection nodes = new SiteMapNodeCollection();
// Create a SiteMapNode and add it to the collection.
SiteMapNode tempNode;
DataRow row;
int index = 0;
while (index < siteMap.Rows.Count)
{
row = siteMap.Rows[index];
// Create a node based on the data in the DataRow.
tempNode = new SiteMapNode(SiteMap.Provider,
row["Key"].ToString(),
row["Url"].ToString());
// Add the node to the collection.
nodes.Add(tempNode);
++index;
}
' The LoadSiteMapData() Function loads site navigation
' data from persistent storage into a DataTable.
Dim siteMapData As DataTable
siteMapData = LoadSiteMapData()
' Create a SiteMapNodeCollection.
Dim nodes As New SiteMapNodeCollection()
' Create a SiteMapNode and add it to the collection.
Dim tempNode As SiteMapNode
Dim row As DataRow
Dim index As Integer
index = 0
While (index < siteMapData.Rows.Count)
row = siteMapData.Rows(index)
' Create a node based on the data in the DataRow.
tempNode = New SiteMapNode(SiteMap.Provider, row("Key").ToString(), row("Url").ToString())
' Add the node to the collection.
nodes.Add(tempNode)
index = index + 1
End While
Megjegyzések
A XmlSiteMapProvider osztály, amely a ASP.NET alapértelmezett SiteMapProvider szolgáltatói implementációja, a SiteMapNode.Url tulajdonságot használja keresési kulcsként, ha a csomóponthoz van megadva (ha nincs megadva URL-cím, a rendszer nyomkövetési azonosítót hoz létre a csomóponthoz). Ezért minden SiteMapNode olyan objektumnak, amely egy URL-címet biztosít, és amelyet a XmlSiteMapProvider szolgáltató használ, egyedi URL-címvel kell rendelkeznie a szolgáltató hatókörén belül.
A következőre érvényes:
SiteMapNode(SiteMapProvider, String, String, String)
Inicializálja az SiteMapNode osztály új példányát a megadott URL-címmel, a key csomópont által képviselt lap azonosításához, egy címmel és a csomópontot kezelő helylekép-szolgáltatóval.
public:
SiteMapNode(System::Web::SiteMapProvider ^ provider, System::String ^ key, System::String ^ url, System::String ^ title);
public SiteMapNode(System.Web.SiteMapProvider provider, string key, string url, string title);
new System.Web.SiteMapNode : System.Web.SiteMapProvider * string * string * string -> System.Web.SiteMapNode
Public Sub New (provider As SiteMapProvider, key As String, url As String, title As String)
Paraméterek
- provider
- SiteMapProvider
Az SiteMapProvider a csomópont, amelyhez a csomópont társítva van.
- key
- String
Szolgáltatóspecifikus keresési kulcs.
- url
- String
Annak a lapnak az URL-címe, amelyet a csomópont a webhelyen belül jelöl.
- title
- String
A csomópont címkéje, amelyet gyakran a navigációs vezérlők jelenítenek meg.
Kivételek
Példák
Az alábbi példakód bemutatja, hogyan használható a konstruktor az SiteMapNode osztály új példányának SiteMapNode létrehozására. A csomópont inicializálva van egy Microsoft Access adatbázissor értékeivel.
Ez a példakód egy nagyobb, a BuildSiteMap metódushoz megadott példa része.
OleDbCommand^ rootNodeCommand = gcnew OleDbCommand
("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid IS NULL", accessConnection);
OleDbDataReader^ rootNodeReader = rootNodeCommand->ExecuteReader();
if ( rootNodeReader->HasRows )
{
rootNodeReader->Read();
rootNodeId = rootNodeReader->GetInt32( 0 );
// Create a SiteMapNode that references the current StaticSiteMapProvider.
rootNode = gcnew SiteMapNode(this, rootNodeId.ToString(),
rootNodeReader->GetString( 1 ),rootNodeReader->GetString( 2 ));
}
else
return nullptr;
rootNodeReader->Close();
OleDbCommand rootNodeCommand =
new OleDbCommand("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid IS NULL",
accessConnection);
OleDbDataReader rootNodeReader = rootNodeCommand.ExecuteReader();
if(rootNodeReader.HasRows) {
rootNodeReader.Read();
rootNodeId = rootNodeReader.GetInt32(0);
// Create a SiteMapNode that references the current StaticSiteMapProvider.
rootNode = new SiteMapNode(this,
rootNodeId.ToString(),
rootNodeReader.GetString(1),
rootNodeReader.GetString(2));
}
else
{
return null;
}
rootNodeReader.Close();
Dim rootNodeCommand As New OleDbCommand("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid IS NULL", accessConnection)
Dim rootNodeReader As OleDbDataReader = rootNodeCommand.ExecuteReader()
If rootNodeReader.HasRows Then
rootNodeReader.Read()
rootNodeId = rootNodeReader.GetInt32(0)
' Create a SiteMapNode that references the current StaticSiteMapProvider.
aRootNode = New SiteMapNode(Me, rootNodeId.ToString(), rootNodeReader.GetString(1), rootNodeReader.GetString(2))
Else
Return Nothing
End If
rootNodeReader.Close()
Megjegyzések
A XmlSiteMapProvider osztály, amely a ASP.NET alapértelmezett SiteMapProvider szolgáltatói implementációja, a SiteMapNode.Url tulajdonságot használja keresési kulcsként, ha a csomóponthoz van megadva (ha nincs megadva URL-cím, a rendszer nyomkövetési azonosítót hoz létre a csomóponthoz). Ezért minden SiteMapNode olyan objektumnak, amely egy URL-címet biztosít, és amelyet a XmlSiteMapProvider szolgáltató használ, egyedi URL-címvel kell rendelkeznie a szolgáltató hatókörén belül.
Ha nincs title megadva, a Title tulajdonság hívásai visszaadják a String.Empty mezőt.
A következőre érvényes:
SiteMapNode(SiteMapProvider, String, String, String, String)
Inicializálja az SiteMapNode osztály új példányát a megadott URL-címmel, a key csomópont által képviselt lap azonosításához, egy címmel és leírással, valamint a csomópontot kezelő helytérkép-szolgáltatóval.
public:
SiteMapNode(System::Web::SiteMapProvider ^ provider, System::String ^ key, System::String ^ url, System::String ^ title, System::String ^ description);
public SiteMapNode(System.Web.SiteMapProvider provider, string key, string url, string title, string description);
new System.Web.SiteMapNode : System.Web.SiteMapProvider * string * string * string * string -> System.Web.SiteMapNode
Public Sub New (provider As SiteMapProvider, key As String, url As String, title As String, description As String)
Paraméterek
- provider
- SiteMapProvider
Az SiteMapProvider a csomópont, amelyhez a csomópont társítva van.
- key
- String
Szolgáltatóspecifikus keresési kulcs.
- url
- String
Annak a lapnak az URL-címe, amelyet a csomópont a webhelyen belül jelöl.
- title
- String
A csomópont címkéje, amelyet gyakran a navigációs vezérlők jelenítenek meg.
- description
- String
A csomópont által képviselt lap leírása.
Kivételek
Példák
Az alábbi példakód bemutatja, hogyan hozhat létre SiteMapNode objektumot a SiteMapNode konstruktor használatával egy egyszerű szövegfájl adatainak elemzésével a helytérkép memóriában való létrehozásához.
Ez a példakód egy nagyobb, absztrakt SiteMapProvider osztályhoz tartozó példa része.
protected virtual void LoadSiteMapFromStore()
{
string pathToOpen;
lock (this)
{
// If a root node exists, LoadSiteMapFromStore has already
// been called, and the method can return.
if (rootNode != null)
{
return;
}
else
{
pathToOpen = HttpContext.Current.Server.MapPath("~" + "\\" + sourceFilename);
if (File.Exists(pathToOpen))
{
// Open the file to read from.
using (StreamReader sr = File.OpenText(pathToOpen))
{
// Clear the state of the collections and rootNode
rootNode = null;
siteMapNodes.Clear();
childParentRelationship.Clear();
// Parse the file and build the site map
string s = "";
string[] nodeValues = null;
SiteMapNode temp = null;
while ((s = sr.ReadLine()) != null)
{
// Build the various SiteMapNode objects and add
// them to the ArrayList collections. The format used
// is: URL,TITLE,DESCRIPTION,PARENTURL
nodeValues = s.Split(',');
temp = new SiteMapNode(this,
HttpRuntime.AppDomainAppVirtualPath + "/" + nodeValues[0],
HttpRuntime.AppDomainAppVirtualPath + "/" + nodeValues[0],
nodeValues[1],
nodeValues[2]);
// Is this a root node yet?
if (null == rootNode &&
string.IsNullOrEmpty(nodeValues[3]))
{
rootNode = temp;
}
// If not the root node, add the node to the various collections.
else
{
siteMapNodes.Add(new DictionaryEntry(temp.Url, temp));
// The parent node has already been added to the collection.
SiteMapNode parentNode =
FindSiteMapNode(HttpRuntime.AppDomainAppVirtualPath + "/" + nodeValues[3]);
if (parentNode != null)
{
childParentRelationship.Add(new DictionaryEntry(temp.Url, parentNode));
}
else
{
throw new Exception("Parent node not found for current node.");
}
}
}
}
}
else
{
throw new Exception("File not found");
}
}
}
return;
}
Protected Overridable Sub LoadSiteMapFromStore()
Dim pathToOpen As String
SyncLock Me
' If a root node exists, LoadSiteMapFromStore has already
' been called, and the method can return.
If Not (aRootNode Is Nothing) Then
Return
Else
pathToOpen = HttpContext.Current.Server.MapPath("~" & "\\" & sourceFilename)
If File.Exists(pathToOpen) Then
' Open the file to read from.
Dim sr As StreamReader = File.OpenText(pathToOpen)
Try
' Clear the state of the collections and aRootNode
aRootNode = Nothing
siteMapNodes.Clear()
childParentRelationship.Clear()
' Parse the file and build the site map
Dim s As String = ""
Dim nodeValues As String() = Nothing
Dim temp As SiteMapNode = Nothing
Do
s = sr.ReadLine()
If Not s Is Nothing Then
' Build the various SiteMapNode objects and add
' them to the ArrayList collections. The format used
' is: URL,TITLE,DESCRIPTION,PARENTURL
nodeValues = s.Split(","c)
temp = New SiteMapNode(Me, _
HttpRuntime.AppDomainAppVirtualPath & "/" & nodeValues(0), _
HttpRuntime.AppDomainAppVirtualPath & "/" & nodeValues(0), _
nodeValues(1), _
nodeValues(2))
' Is this a root node yet?
If aRootNode Is Nothing AndAlso _
(nodeValues(3) Is Nothing OrElse _
nodeValues(3) = String.Empty) Then
aRootNode = temp
' If not the root node, add the node to the various collections.
Else
siteMapNodes.Add(New DictionaryEntry(temp.Url, temp))
' The parent node has already been added to the collection.
Dim parentNode As SiteMapNode = _
FindSiteMapNode(HttpRuntime.AppDomainAppVirtualPath & "/" & nodeValues(3))
If Not (parentNode Is Nothing) Then
childParentRelationship.Add(New DictionaryEntry(temp.Url, parentNode))
Else
Throw New Exception("Parent node not found for current node.")
End If
End If
End If
Loop Until s Is Nothing
Finally
sr.Close()
End Try
Else
Throw New Exception("File not found")
End If
End If
End SyncLock
Return
End Sub
End Class
Megjegyzések
A XmlSiteMapProvider osztály, amely a ASP.NET alapértelmezett SiteMapProvider szolgáltatói implementációja, a SiteMapNode.Url tulajdonságot használja keresési kulcsként, ha a csomóponthoz van megadva (ha nincs megadva URL-cím, a rendszer nyomkövetési azonosítót hoz létre a csomóponthoz). Ezért minden SiteMapNode olyan objektumnak, amely egy URL-címet biztosít, és amelyet a XmlSiteMapProvider szolgáltató használ, egyedi URL-címvel kell rendelkeznie a szolgáltató hatókörén belül.
Ha nincs title megadva, description vagy nincs megadva, a hívás vagy a TitleDescription tulajdonságok egy String.Empty mezőt adnak vissza.
Lásd még
A következőre érvényes:
SiteMapNode(SiteMapProvider, String, String, String, String, IList, NameValueCollection, NameValueCollection, String)
Inicializálja az SiteMapNode osztály új példányát a megadott helytérkép-szolgáltató használatával, amely kezeli a csomópontot, az URL-címet, a címet, a leírást, a szerepköröket, a további attribútumokat, valamint a honosítás explicit és implicit erőforráskulcsait.
public:
SiteMapNode(System::Web::SiteMapProvider ^ provider, System::String ^ key, System::String ^ url, System::String ^ title, System::String ^ description, System::Collections::IList ^ roles, System::Collections::Specialized::NameValueCollection ^ attributes, System::Collections::Specialized::NameValueCollection ^ explicitResourceKeys, System::String ^ implicitResourceKey);
public SiteMapNode(System.Web.SiteMapProvider provider, string key, string url, string title, string description, System.Collections.IList roles, System.Collections.Specialized.NameValueCollection attributes, System.Collections.Specialized.NameValueCollection explicitResourceKeys, string implicitResourceKey);
new System.Web.SiteMapNode : System.Web.SiteMapProvider * string * string * string * string * System.Collections.IList * System.Collections.Specialized.NameValueCollection * System.Collections.Specialized.NameValueCollection * string -> System.Web.SiteMapNode
Public Sub New (provider As SiteMapProvider, key As String, url As String, title As String, description As String, roles As IList, attributes As NameValueCollection, explicitResourceKeys As NameValueCollection, implicitResourceKey As String)
Paraméterek
- provider
- SiteMapProvider
Az SiteMapProvider a csomópont, amelyhez a csomópont társítva van.
- key
- String
Szolgáltatóspecifikus keresési kulcs.
- url
- String
Annak a lapnak az URL-címe, amelyet a csomópont a webhelyen belül jelöl.
- title
- String
A csomópont címkéje, amelyet gyakran a navigációs vezérlők jelenítenek meg.
- description
- String
A csomópont által képviselt lap leírása.
- roles
- IList
Olyan IList szerepkörök egyike, amelyek megtekinthetik a lap által SiteMapNodeképviselt oldalt.
- attributes
- NameValueCollection
További NameValueCollection attribútumok, amelyeket a SiteMapNode.
- explicitResourceKeys
- NameValueCollection
A NameValueCollection honosításhoz használt explicit erőforráskulcsok egyike.
- implicitResourceKey
- String
A honosításhoz használt implicit erőforráskulcs.
Kivételek
Megjegyzések
A XmlSiteMapProvider osztály, amely a ASP.NET alapértelmezett SiteMapProvider szolgáltatói implementációja, a SiteMapNode.Url tulajdonságot használja keresési kulcsként, ha a csomóponthoz van megadva (ha nincs megadva URL-cím, a rendszer nyomkövetési azonosítót hoz létre a csomóponthoz). Ezért minden SiteMapNode olyan objektumnak, amely egy URL-címet biztosít, és amelyet a XmlSiteMapProvider szolgáltató használ, egyedi URL-címvel kell rendelkeznie a szolgáltató hatókörén belül.
A NameValueCollection létrehozott attribútumok gyűjteménye a SiteMapNode tulajdonságon keresztül érhető el, és megkönnyíti a további attribútumok alkalmazását egy helytérkép-csomóponton, és anélkül bővíti a képességeit, hogy Attributes ehhez egyéni osztályt hoz létre.
Adja meg a IList szerepkörök gyűjteményét, hogy olyan szerepköröket biztosítson, amelyek a tulajdonság visszatérésekor megtekinthetik a SecurityTrimmingEnabled csomópontot true. További információért lásd SecurityTrimmingEnabled.
A XmlSiteMapProvider szolgáltató keresési kulcsként használja a SiteMapNode.Url tulajdonságot. Ezért a szolgáltató által SiteMapNode használt url-címnek XmlSiteMapProvider egyedinek kell lennie a szolgáltató hatókörén belül.
Ha nincs title megadva, description vagy nincs megadva, a hívás vagy a TitleDescription tulajdonságok egy String.Empty mezőt adnak vissza.
A honosításhoz szükséges erőforrások programozott megadásához állítsa be a csomópont honosított erőforrásainak azonosítására szolgáló egyedi név értékétimplicitResourceKey, vagy állítsa olyan explicitResourceKeysNameValueCollection párok gyűjteményérename/value, amelyekben name a csomópont tulajdonsága vagy egyéni attribútuma honosítandó, és value a csomóponttulajdonság vagy az egyéni attribútum honosítási értékeit tartalmazza. A honosított értékek ezután a megfelelő .resx fájlokban állíthatók be. Az objektumok honosításával TitleDescriptionés egyéni tulajdonságaival SiteMapNode kapcsolatos további információkért lásd: Az adatok honosítása Site-Map. A gyűjtemény explicitResourceKeysszintaxiskövetelményei: NameValueCollection .