Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Autor: Christian Wenz
Kontrolka HoverMenu w zestawie narzędzi AJAX Control Toolkit zapewnia prosty efekt wyskakujących okienek: po umieszczeniu wskaźnika myszy nad elementem zostanie wyświetlone okno podręczne w określonej pozycji. Można również użyć tej kontrolki w repeaterze.
Przegląd
Kontrolka HoverMenu w zestawie narzędzi AJAX Control Toolkit zapewnia prosty efekt wyskakującego okienka: gdy wskaźnik myszy najeżdża na element, pojawia się okno podręczne w określonej pozycji. Można również użyć tej kontrolki w repeaterze.
Kroki
Przede wszystkim wymagane jest źródło danych. W tym przykładzie użyto bazy danych AdventureWorks i programu Microsoft SQL Server 2005 Express Edition. Baza danych jest opcjonalną częścią instalacji programu Visual Studio (w tym wersji ekspresowej) i jest również dostępna jako oddzielny plik do pobrania w obszarze https://go.microsoft.com/fwlink/?LinkId=64064. Baza danych AdventureWorks jest częścią przykładów i baz danych wzorcowych dla SQL Server 2005 (pobierz na stronie https://www.microsoft.com/download/details.aspx?id=10679). Najprostszym sposobem skonfigurowania bazy danych jest użycie programu Microsoft SQL Server Management Studio (/sql/ssms/download-sql-server-management-studio-ssms) i dołączenie AdventureWorks.mdf pliku bazy danych.
W tym przykładzie przyjęto założenie, że wystąpienie programu SQL Server 2005 Express Edition jest wywoływane SQLEXPRESS i znajduje się na tym samym komputerze co serwer internetowy. Jest to również konfiguracja domyślna. Jeśli konfiguracja się różni, musisz dostosować informacje o połączeniu dla bazy danych.
Aby aktywować funkcjonalność ASP.NET AJAX i zestawu narzędzi Control Toolkit, kontrolka ScriptManager musi zostać umieszczona w dowolnym miejscu na stronie (ale w elemecie <form> ):
<asp:ScriptManager ID="asm" runat="server" />
Następnie dodaj źródło danych do strony. Aby użyć ograniczonej ilości danych, wybieramy tylko pięć pierwszych wpisów w tabeli Vendor (Dostawca) bazy danych AdventureWorks. Jeśli używasz asystenta Visual Studio do utworzenia źródła danych, pamiętaj, że błąd w bieżącej wersji nie opatrza nazwy tabeli (Vendor) przedrostkiem Purchasing. Poniższy znacznik pokazuje poprawną składnię:
<asp:SqlDataSource ID="sds1" runat="server" ConnectionString="
Data Source=(local)\SQLEXPRESS;Initial Catalog=AdventureWorks;Integrated Security=True"
ProviderName="System.Data.SqlClient" SelectCommand="SELECT TOP 5
[VendorID], [Name] FROM [Purchasing].[Vendor]" />
Następnie dodaj panel, który służy jako okienko modalne.
<asp:Panel ID="HoverPanel" runat="server">
More info ...
</asp:Panel>
Teraz HoverMenuExtender wchodzi do gry. Aby każdy element w źródle danych otrzymywał własne okienko podręczne, rozszerzenie musi zostać umieszczone w sekcji repeatera <ItemTemplate>. Oto znacznik:
<asp:Repeater ID="rep1" DataSourceID="sds1" runat="server">
<ItemTemplate>
<br />
<asp:Panel ID="myPanel" runat="server" Width="400px" BackColor="Lime" BorderWidth="1px">
<div>
Vendor
<%#DataBinder.Eval(Container.DataItem, "Name")%>
</div>
</asp:Panel>
<br />
<ajaxToolkit:HoverMenuExtender ID="hme" runat="server" TargetControlID="myPanel"
PopupControlID="HoverPanel" PopupPosition="Right" PopDelay="50" />
</ItemTemplate>
</asp:Repeater>
Teraz każdy element w źródle danych wyświetla wyskakujące okienko po prawej (PopupPosition atrybut) po opóźnieniu 50 milisekund (PopDelay atrybut).
Menu podręczne jest wyświetlane obok każdego elementu w repeaterze (Kliknij, aby wyświetlić obraz o pełnym rozmiarze)