MenuItemBinding.DataMember Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta il membro dati da associare a una voce di menu.
public:
property System::String ^ DataMember { System::String ^ get(); void set(System::String ^ value); };
public string DataMember { get; set; }
member this.DataMember : string with get, set
Public Property DataMember As String
Valore della proprietà
Membro dati da associare a una voce di menu. Il valore predefinito è una stringa vuota (""), a indicare che questa proprietà non è impostata.
Esempio
Nell'esempio di codice seguente viene illustrato come usare la DataMember proprietà per specificare quale elemento XML associare alle voci di menu in un Menu controllo. Per il corretto funzionamento di questo esempio, è necessario copiare i dati XML di esempio seguenti in un file denominato MenuDataMember.xml.
<%@ page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItemBinding DataMember Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding DataMember Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<databindings>
<asp:menuitembinding datamember="MapNodeHome"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding datamember="MapNodeCategory"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding datamember="MapNodeSection"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</databindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="MenuDataMember.xml"
runat="server"/>
</form>
</body>
</html>
<%@ page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItemBinding DataMember Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding DataMember Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<databindings>
<asp:menuitembinding datamember="MapNodeHome"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding datamember="MapNodeCategory"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding datamember="MapNodeSection"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</databindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="MenuDataMember.xml"
runat="server"/>
</form>
</body>
</html>
Il codice seguente è i dati della mappa del sito di esempio per l'esempio precedente.
<MapNodeHome ImageUrl="~\Images\Home.gif"
Title="Home"
Description="Root Page"
ToolTip="Home Page">
<MapNodeCategory ImageUrl="~\Images\Music.gif"
Title="Music"
Description="Music Category"
ToolTip="Music Page">
<MapNodeSection ImageUrl="~\Images\Classical.gif"
Title="Classical"
Description="Classical Section"
ToolTip="Classical Page"/>
<MapNodeSection ImageUrl="~\Images\Rock.gif"
Title="Rock"
Description="Rock Section"
ToolTip="Rock Page"/>
<MapNodeSection ImageUrl="~\Images\Jazz.gif"
Title="Jazz"
Description="Jazz Section"
ToolTip="Jazz Page"/>
</MapNodeCategory>
<MapNodeCategory ImageUrl="~\Images\Movies.gif"
Title="Movies"
Description="Movies Category"
ToolTip="Movies Page">
<MapNodeSection ImageUrl="~\Images\Action.gif"
Title="Action"
Description="Action Section"
ToolTip="Action Page"/>
<MapNodeSection ImageUrl="~\Images\Drama.gif"
Title="Drama"
Description="Drama Section"
ToolTip="Drama Page"/>
<MapNodeSection ImageUrl="~\Images\Musical.gif"
Title="Musical"
Description="Musical Section"
ToolTip="Musical Page"/>
</MapNodeCategory>
</MapNodeHome>
Commenti
Quando si crea un MenuItemBinding oggetto, è necessario specificare i criteri per l'associazione. I criteri indicano quando un elemento dati deve essere associato a una voce di menu. È possibile specificare la Depth proprietà, la DataMember proprietà o entrambi.
Quando l'origine dati contiene più elementi o tabelle, usare la DataMember proprietà per specificare l'elemento o la tabella da associare a una voce di menu. Un membro dati specifica il tipo dell'elemento di dati nell'origine dati sottostante, ma può rappresentare informazioni diverse a seconda dell'origine dati. Ogni elemento di dati in un'origine dati gerarchica (rappresentata da un System.Web.UI.IHierarchyData oggetto) espone una IHierarchyData.Type proprietà, che specifica il tipo dell'elemento di dati. Ad esempio, il membro dati per un elemento XML specifica il nome dell'elemento. La dichiarazione seguente MenuItemBinding associa gli <Book>
elementi di un XmlDataSource controllo a tutte le voci di menu nel menu, indipendentemente dalla posizione nella gerarchia:
<asp:MenuItemBinding DataMember="Book" TextField="Title" ValueField= "ISBN">
A volte potrebbe essere necessario creare un'associazione di voci di menu che specifica sia una profondità che un membro dati. Questa operazione viene spesso usata quando l'origine dati contiene elementi a livelli diversi con lo stesso valore del membro dati. Ad esempio, è possibile disporre <Item>
di elementi visualizzati a livelli diversi all'interno di un file XML. Le dichiarazioni seguenti MenuItemBinding illustrano come specificare associazioni di voci di menu che si applicano a membri di dati identici a profondità di menu diverse:
<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">
<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">
Se un'associazione di voci di menu è definita senza una profondità o un membro dati, l'associazione di voci di menu viene applicata a tutte le voci di menu all'interno del menu. Questa operazione viene comunemente usata quando tutti gli elementi dati hanno le stesse proprietà e devono essere visualizzati in modo identico, indipendentemente dalla profondità del menu.
Dopo aver stabilito i criteri di associazione, è quindi possibile associare una proprietà di un MenuItem oggetto che può essere associato a un valore. È possibile associare a un campo di un elemento di dati o a un valore statico. Se associato a un valore statico, tutti gli MenuItem oggetti a cui viene applicato l'oggetto MenuItemBinding condividono lo stesso valore. Le proprietà associate ai campi contengono i valori del campo dall'origine dati.
Se vengono definiti oggetti in conflitto MenuItemBinding , il Menu controllo applica le associazioni di voci di menu nell'ordine di precedenza seguente:
Oggetto MenuItemBinding che definisce e corrisponde sia a una profondità che a un membro dati.
Oggetto MenuItemBinding che definisce e corrisponde solo al membro dati.
Oggetto MenuItemBinding che definisce e corrisponde solo alla profondità.
Oggetto MenuItemBinding che definisce né la profondità né il membro dati. Questo tipo di associazione di voci di menu viene applicata a tutte le voci di menu nel menu.
Oggetto MenuItemBinding che non ha una corrispondenza nell'origine dati. In questo caso, il valore restituito dal
ToString()
metodo dell'elemento di dati viene quindi associato alle Text proprietà e Value delle voci di menu a cui viene applicato l'oggetto MenuItemBinding .