MenuItemBinding Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Definiuje relację między elementem danych a elementem menu, z który jest wiązany w kontrolce Menu . Klasa ta nie może być dziedziczona.
public ref class MenuItemBinding sealed : ICloneable, System::Web::UI::IDataSourceViewSchemaAccessor, System::Web::UI::IStateManager
public sealed class MenuItemBinding : ICloneable, System.Web.UI.IDataSourceViewSchemaAccessor, System.Web.UI.IStateManager
type MenuItemBinding = class
interface IStateManager
interface ICloneable
interface IDataSourceViewSchemaAccessor
Public NotInheritable Class MenuItemBinding
Implements ICloneable, IDataSourceViewSchemaAccessor, IStateManager
- Dziedziczenie
-
MenuItemBinding
- Implementuje
Przykłady
Poniższy przykład kodu pokazuje, jak używać MenuItemBinding obiektów do definiowania relacji między polami XmlDataSource kontrolki a elementami menu w kontrolce Menu . Aby ten przykład działał poprawnie, należy skopiować przykładowe dane XML poniżej do pliku o nazwie Menu.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 Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<DataBindings>
<asp:menuitembinding datamember="MapHomeNode"
formatstring="({0})"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding datamember="MapNode"
depth="1"
formatstring="[{0}]"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding datamember="MapNode"
depth="2"
formatstring="<{0}>"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</DataBindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="Menu.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 Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<DataBindings>
<asp:menuitembinding datamember="MapHomeNode"
formatstring="({0})"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding datamember="MapNode"
depth="1"
formatstring="[{0}]"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding datamember="MapNode"
depth="2"
formatstring="<{0}>"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</DataBindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="Menu.xml"
runat="server"/>
</form>
</body>
</html>
Poniższy kod to przykładowe dane mapy witryny dla poprzedniego przykładu.
<MapHomeNode ImageUrl="~\Images\Home.gif"
Title="Home"
Description="Root Page"
ToolTip="Home Page">
<MapNode ImageUrl="~\Images\Music.gif"
Title="Music"
Description="Music Category"
ToolTip="Music Page">
<MapNode ImageUrl="~\Images\Classical.gif"
Title="Classical"
Description="Classical Section"
ToolTip="Classical Page"/>
<MapNode ImageUrl="~\Images\Rock.gif"
Title="Rock"
Description="Rock Section"
ToolTip="Rock Page"/>
<MapNode ImageUrl="~\Images\Jazz.gif"
Title="Jazz"
Description="Jazz Section"
ToolTip="Jazz Page"/>
</MapNode>
<MapNode ImageUrl="~\Images\Movies.gif"
Title="Movies"
Description="Movies Category"
ToolTip="Movies Page">
<MapNode ImageUrl="~\Images\Action.gif"
Title="Action"
Description="Action Section"
ToolTip="Action Page"/>
<MapNode ImageUrl="~\Images\Drama.gif"
Title="Drama"
Description="Drama Section"
ToolTip="Drama Page"/>
<MapNode ImageUrl="~\Images\Musical.gif"
Title="Musical"
Description="Musical Section"
ToolTip="Musical Page"/>
</MapNode>
</MapHomeNode>
Uwagi
Gdy kontrolka Menu jest powiązana ze źródłem danych, w którym każdy element danych zawiera wiele pól (takich jak element XML z kilkoma atrybutami), jeśli nie zdefiniowano powiązań elementów menu, element menu wyświetla wartość zwracaną przez ToString()
metodę elementu danych domyślnie. W przypadku elementu XML element menu wyświetla nazwę elementu, który pokazuje podstawową strukturę menu, ale nie jest bardzo przydatny w przeciwnym razie. Właściwości elementu menu można powiązać z określonym polem, określając powiązania elementów menu. Obiekt MenuItemBinding definiuje relację między poszczególnymi elementami danych i elementem menu, z który jest wiązany.
Uwaga
Gdy kontrolka Menu jest powiązana z kontrolką SiteMapDataSource , powiązania elementów menu nie mają wpływu. Powiązanie jest wykonywane automatycznie przy użyciu dostawcy mapy lokacji.
Kontrolka Menu przechowuje swoje MenuItemBinding obiekty we DataBindings właściwości i stosuje powiązania do źródła danych, aby utworzyć relację jeden do jednego między hierarchią menu a hierarchią źródła danych. Dla każdego elementu danych w źródle danych kontrolka Menu próbuje dopasować element danych do MenuItemBinding obiektu w celu utworzenia odpowiedniego MenuItem obiektu.
Podczas tworzenia MenuItemBinding obiektu należy określić kryteria powiązania. Kryteria wskazują, kiedy element danych powinien być powiązany z elementem menu. Można określić Depth, DataMember, lub oba.
Głębokość elementu menu określa poziom menu, który jest powiązany. Na przykład następująca MenuItemBinding deklaracja wiąże pola Nazwa i identyfikator źródła danych z Text właściwościami i Value , odpowiednio, ze wszystkimi węzłami o głębokości 0:
<asp:MenuItemBinding Depth="0" TextField="Name" ValueField="ID">
Element członkowski danych określa typ elementu danych w bazowym źródle danych, ale może reprezentować różne informacje w zależności od źródła danych. Każdy element danych w hierarchicznym źródle danych (reprezentowanym przez IHierarchyData obiekt) uwidacznia Type właściwość określającą typ elementu danych. Na przykład element członkowski danych dla elementu XML określa nazwę elementu. Gdy źródło danych zawiera wiele typów elementów danych, element członkowski danych określa typ elementu danych do użycia. Następująca MenuItemBinding deklaracja wiąże <Book>
elementy XmlDataSource kontrolki ze wszystkimi elementami menu w menu, niezależnie od lokalizacji w hierarchii:
<asp:MenuItemBinding DataMember="Book" TextField="Title" ValueField= "ISBN">
Czasami może być konieczne utworzenie powiązania elementu menu, które określa zarówno głębokość, jak i element członkowski danych. Jest to często używane, gdy źródło danych zawiera elementy na różnych poziomach, które mają tę samą wartość składowa danych. Na przykład można mieć <Item>
elementy, które są wyświetlane na różnych poziomach w pliku XML. Poniższe MenuItemBinding deklaracje pokazują, jak określić powiązania elementów menu, które mają zastosowanie do identycznych elementów członkowskich danych w różnych głębokościach menu:
<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">
<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">
Jeśli powiązanie elementu menu jest definiowane bez głębokości i elementu członkowskiego danych, powiązanie elementu menu jest stosowane do wszystkich elementów menu w menu. Jest to często używane, gdy wszystkie elementy danych mają te same właściwości i powinny być wyświetlane identycznie, niezależnie od głębokości menu.
Po ustanowieniu kryteriów powiązania można powiązać właściwość MenuItem obiektu, który może być powiązany z wartością. Możesz powiązać je z polem elementu danych lub z wartością statyczną. W przypadku powiązania z wartością statyczną wszystkie MenuItem obiekty, do których MenuItemBinding zastosowano obiekt, mają tę samą wartość. Właściwości powiązane z polami zawierają wartości odpowiedniego pola ze źródła danych.
Uwaga
Możesz selektywnie zastąpić właściwość powiązana w MenuItem obiekcie, ustawiając odpowiednią właściwość bezpośrednio.
W poniższej tabeli wymieniono właściwości MenuItemBinding klasy, które umożliwiają powiązanie właściwości MenuItem obiektu z polem elementu danych.
Właściwość | Opis |
---|---|
ImageUrlField | Pole do powiązania z ImageUrl właściwością MenuItem obiektu. |
NavigateUrlField | Pole do powiązania z NavigateUrl właściwością MenuItem obiektu. |
TextField | Pole do powiązania z Text właściwością MenuItem obiektu. |
ToolTipField | Pole do powiązania z ToolTip właściwością MenuItem obiektu. |
ValueField | Pole do powiązania z Value właściwością MenuItem obiektu. |
W poniższej tabeli wymieniono właściwości MenuItemBinding klasy, które umożliwiają powiązanie właściwości MenuItem obiektu z wartością statyczną.
Właściwość | Opis |
---|---|
ImageUrl | Wartość statyczna, która ma być powiązana ImageUrl z właściwością MenuItem obiektu. |
NavigateUrl | Wartość statyczna, która ma być powiązana NavigateUrl z właściwością MenuItem obiektu. |
Target | Wartość statyczna, która ma być powiązana Target z właściwością MenuItem obiektu. |
Text | Wartość statyczna, która ma być powiązana Text z właściwością MenuItem obiektu. |
ToolTip | Wartość statyczna, która ma być powiązana ToolTip z właściwością MenuItem obiektu. |
Value | Wartość statyczna, która ma być powiązana Value z właściwością MenuItem obiektu. |
Jeśli obiekty powodujące MenuItemBinding konflikt są zdefiniowane, kontrolka Menu stosuje powiązania elementów menu w następującej kolejności pierwszeństwa:
MenuItemBinding Obiekt, który definiuje i pasuje zarówno do głębokości, jak i elementu członkowskiego danych.
Obiekt MenuItemBinding , który definiuje i pasuje tylko do elementu członkowskiego danych.
Obiekt MenuItemBinding , który definiuje i pasuje tylko do głębokości.
MenuItemBinding Obiekt, który definiuje ani głębokość, ani składową danych. (Ten typ powiązania elementu menu jest stosowany do wszystkich elementów menu w menu).
MenuItemBinding Obiekt, który nie ma dopasowania w źródle danych. W takim przypadku wartość zwracana przez
ToString()
metodę elementu danych jest następnie powiązana z Text właściwościami i Value elementów menu, do których MenuItemBinding zastosowano obiekt.
Klasa MenuItemBinding umożliwia również formatowanie tekstu wyświetlanego w elemencie menu przez ustawienie FormatString właściwości.
Konstruktory
MenuItemBinding() |
Inicjuje nowe wystąpienie klasy MenuItemBinding. |
Właściwości
DataMember |
Pobiera lub ustawia element członkowski danych w celu powiązania z elementem menu. |
Depth |
Pobiera lub ustawia głębokość menu, do której MenuItemBinding jest stosowany obiekt. |
Enabled |
Pobiera lub ustawia wartość wskazującą, czy element menu, do którego MenuItemBinding zastosowano obiekt, jest włączony, co umożliwia elementowi wyświetlanie obrazu podręcznego i wszystkich elementów menu podrzędnego. |
EnabledField |
Pobiera lub ustawia nazwę pola ze źródła danych w celu powiązania Enabled z właściwością MenuItem obiektu, do którego MenuItemBinding jest stosowany obiekt. |
FormatString |
Pobiera lub ustawia ciąg określający format wyświetlania tekstu elementu menu, do którego MenuItemBinding jest stosowany obiekt. |
ImageUrl |
Pobiera lub ustawia adres URL na obraz wyświetlany obok tekstu elementu menu, do którego MenuItemBinding jest stosowany obiekt. |
ImageUrlField |
Pobiera lub ustawia nazwę pola ze źródła danych w celu powiązania ImageUrl z właściwością MenuItem obiektu, do którego MenuItemBinding jest stosowany obiekt. |
NavigateUrl |
Pobiera lub ustawia adres URL, do którego ma być link po kliknięciu MenuItemBinding elementu menu, do którego jest stosowany obiekt. |
NavigateUrlField |
Pobiera lub ustawia nazwę pola ze źródła danych w celu powiązania NavigateUrl z właściwością MenuItem obiektu, do którego MenuItemBinding jest stosowany obiekt. |
PopOutImageUrl |
Pobiera lub ustawia adres URL na obraz, który wskazuje obecność dynamicznego podmenu elementu menu, do którego MenuItemBinding jest stosowany obiekt. |
PopOutImageUrlField |
Pobiera lub ustawia nazwę pola ze źródła danych w celu powiązania PopOutImageUrl z właściwością MenuItem obiektu, do którego MenuItemBinding jest stosowany obiekt. |
Selectable |
Pobiera lub ustawia wartość wskazującą, czy można wybrać element menu, do którego MenuItemBinding można zastosować obiekt, czy też jest "możliwy do kliknięcia". |
SelectableField |
Pobiera lub ustawia nazwę pola ze źródła danych w celu powiązania Selectable z właściwością MenuItem obiektu, do którego MenuItemBinding jest stosowany obiekt. |
SeparatorImageUrl |
Pobiera lub ustawia adres URL na obraz wyświetlany poniżej tekstu elementu menu (aby oddzielić go od innych elementów menu) dla elementu menu, do którego MenuItemBinding jest stosowany obiekt. |
SeparatorImageUrlField |
Pobiera lub ustawia nazwę pola ze źródła danych w celu powiązania SeparatorImageUrl z właściwością MenuItem obiektu, do którego MenuItemBinding jest stosowany obiekt. |
Target |
Pobiera lub ustawia okno docelowe lub ramkę, w której ma być wyświetlana zawartość strony sieci Web skojarzona z elementem menu, do którego MenuItemBinding jest stosowany obiekt. |
TargetField |
Pobiera lub ustawia nazwę pola ze źródła danych w celu powiązania z Target właściwością MenuItem obiektu, do którego MenuItemBinding jest stosowany obiekt. |
Text |
Pobiera lub ustawia tekst wyświetlany dla elementu menu, do którego MenuItemBinding jest stosowany obiekt. |
TextField |
Pobiera lub ustawia nazwę pola ze źródła danych w celu powiązania z Text właściwością MenuItem obiektu, do którego MenuItemBinding jest stosowany obiekt. |
ToolTip |
Pobiera lub ustawia tekst etykietki narzędzia dla elementu menu, do którego MenuItemBinding jest stosowany obiekt. |
ToolTipField |
Pobiera lub ustawia nazwę pola ze źródła danych w celu powiązania z ToolTip właściwością MenuItem obiektu, do którego MenuItemBinding jest stosowany obiekt. |
Value |
Pobiera lub ustawia wartość niedyskrywałą używaną do przechowywania wszelkich dodatkowych danych dotyczących elementu menu, do którego MenuItemBinding jest stosowany obiekt, na przykład danych używanych do obsługi zdarzeń zwrotnych. |
ValueField |
Pobiera lub ustawia nazwę pola ze źródła danych w celu powiązania z Value właściwością MenuItem obiektu, do którego MenuItemBinding jest stosowany obiekt. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. |
Jawne implementacje interfejsu
ICloneable.Clone() |
Tworzy kopię MenuItemBinding obiektu. |
IDataSourceViewSchemaAccessor.DataSourceViewSchema |
Aby uzyskać opis tego członka, zobacz DataSourceViewSchema. |
IStateManager.IsTrackingViewState |
Pobiera wartość wskazującą, czy MenuItemBinding obiekt zapisuje zmiany w stanie widoku. |
IStateManager.LoadViewState(Object) |
Ładuje wcześniej zapisany stan widoku węzła. |
IStateManager.SaveViewState() |
Zapisuje zmiany stanu widoku w obiekcie Object. |
IStateManager.TrackViewState() |
Instruuje obiekt, MenuItemBinding aby śledzić zmiany stanu widoku. |
Dotyczy
Zobacz też
- Menu
- MenuItem
- MenuItemBindingCollection
- AccessDataSource
- ObjectDataSource
- SiteMapDataSource
- SqlDataSource
- XmlDataSource
- DataBindings
- DataMember
- Depth
- FormatString
- ImageUrl
- ImageUrl
- ImageUrlField
- NavigateUrl
- NavigateUrl
- NavigateUrlField
- Target
- Text
- Text
- TextField
- ToolTip
- ToolTip
- ToolTipField
- Value
- ValueField