Tworzenie wzajemnie wykluczających się pól wyboru (C#)
Autor: Christian Wenz
Gdy można wybrać tylko jeden z zestawów opcji, zwykle są używane przyciski radiowe. Istnieje jednak wada: po wybraniu jednego przycisku radiowego w grupie nie można usunąć zaznaczenia wszystkich przycisków radiowych. Pola wyboru mogą być w dowolnym momencie niezaznaczone, ale nie wykluczają się wzajemnie. Ten samouczek zawiera najlepsze z obu metod: pola wyboru, które wzajemnie się wykluczają.
Omówienie
Gdy można wybrać tylko jeden z zestawów opcji, zwykle są używane przyciski radiowe. Istnieje jednak wada: po wybraniu jednego przycisku radiowego w grupie nie można usunąć zaznaczenia wszystkich przycisków radiowych. Pola wyboru mogą być w dowolnym momencie niezaznaczone, ale nie wykluczają się wzajemnie. Ten samouczek zawiera najlepsze z obu metod: pola wyboru, które wzajemnie się wykluczają.
Kroki
Zestaw narzędzi kontroli AJAX ASP.NET zawiera rozszerzenie MutuallyExclusiveCheckBox. Dzięki temu programiści mogą przypisywać dowolne pole wyboru do nazwy grupy (Key
atrybutu). Ze wszystkich pól wyboru w tej samej grupie tylko jeden może być zaznaczony jednocześnie.
Zacznijmy od wprowadzenia dwóch pól wyboru na nowej stronie ASP.NET. Może być więcej, ale dwa z nich wystarczy, aby zademonstrować zasadę:
<asp:CheckBox ID="cbYes" runat="server" />Yes
<asp:CheckBox ID="cbNo" runat="server" />No
W przypadku obu pól wyboru kontrolka MutuallyExclusiveCheckBoxExtender musi być umieszczona na stronie. Oba atrybuty klucza muszą mieć taką samą wartość, podobnie jak atrybuty wartości elementów przycisku radiowego HTML muszą być identyczne, aby oznaczyć grupę, do której należą. Właściwość TargetControlID rozszerzenia wskazuje identyfikator pola wyboru.
<ajaxToolkit:MutuallyExclusiveCheckBoxExtender ID="mecbe1" runat="server"
TargetControlID="cbYes" Key="YesNo" />
<ajaxToolkit:MutuallyExclusiveCheckBoxExtender ID="mecbe2" runat="server"
TargetControlID="cbNo" Key="YesNo" />
Na koniec dołącz ASP.NET AJAX ScriptManager
, która jest wymagana przez wszystkie elementy zestawu narzędzi ASP.NET AJAX Control Toolkit:
<asp:ScriptManager ID="asm" runat="server" />
Zapisz i uruchom stronę: możesz zaznaczyć i cofnąć zaznaczenie obu pól wyboru, jednak w żadnym momencie nie można zaznaczyć obu pól wyboru.
Jednocześnie można zaznaczyć tylko jedno pole wyboru (kliknij, aby wyświetlić obraz w pełnym rozmiarze)