Sdílet prostřednictvím


Použití postbacků s ovládacím prvkem ReorderList (C#)

Christian Wenz

Stáhnout PDF

Ovládací prvek ReorderList v sadě nástrojů AJAX Control Toolkit poskytuje seznam, který může uživatel změnit pořadí přetažením. Při každé změně pořadí seznamu informuje zpětný server o změně.

Přehled

Ovládací ReorderList prvek v sadě AJAX Control Toolkit poskytuje seznam, který může uživatel změnit pomocí přetažení. Při každé změně pořadí seznamu informuje zpětný server o změně.

Postup

Pro ovládací prvek existuje několik možných zdrojů ReorderList dat. Jedním z nich je použití ovládacího prvku XmlDataSource :

<asp:XmlDataSource ID="XmlDataSource1" runat="server" XPath="acronym/letter">
 <Data>
 <acronym>
 <letter char="A" description="Asynchronous" />
 <letter char="J" description="JavaScript" />
 <letter char="A" description="And" />
 <letter char="X" description="XML" />
 </acronym>
 </Data>
</asp:XmlDataSource>

Aby bylo možné vytvořit vazbu tohoto XML na ReorderList ovládací prvek a povolit zpětné odeslání, musí být nastaveny následující atributy:

  • DataSourceID: ID zdroje dat
  • SortOrderField: Vlastnost, podle které chcete řadit
  • AllowReorder: Určuje, jestli chcete uživateli povolit změnit pořadí prvků seznamu.
  • PostBackOnReorder: Jestli se má vytvořit zpětné odeslání při změně uspořádání seznamu

Tady je odpovídající kód pro ovládací prvek:

<ajaxToolkit:ReorderList ID="rl1" runat="server" SortOrderField="char"
 AllowReorder="true"
 DataSourceID="XmlDataSource1" PostBackOnReorder="true">

V rámci ReorderList ovládacího prvku mohou být konkrétní data ze zdroje dat svázaná metodou Eval() :

<DragHandleTemplate>
 <div class="DragHandleClass">
 </div>
 </DragHandleTemplate>
 <ItemTemplate>
 <div>
 <asp:Label ID="ItemLabel" Text='<%# Eval("description") %>' runat="server" />
 </div>
 </ItemTemplate>
</ajaxToolkit:ReorderList>

Na libovolném místě na stránce bude popisek obsahovat informace o tom, kdy došlo k poslední změně pořadí:

<div>
 <asp:Label ID="lastUpdate" runat="server" />
</div>

Tento popisek je vyplněný textem v kódu na straně serveru, který zpracovává zpětné odeslání:

<script runat="server">
 void Page_Load()
 {
 if (Page.IsPostBack)
 {
 lastUpdate.Text = "List last reordered at " + 
 DateTime.Now.ToLongTimeString();
 }
 }
</script>

Nakonec, aby bylo možné aktivovat funkce ASP.NET AJAX a Control Toolkit, ScriptManager musí být ovládací prvek umístěn na stránce:

<asp:ScriptManager ID="asm" runat="server" />

Každé přeuspořádání aktivuje zpětné odeslání.

Při každé změně pořadí se aktivuje zpětné odeslání (kliknutím zobrazíte obrázek v plné velikosti).