Share via


相互に排他的なチェックボックスを作成する (C#)

作成者: Christian Wenz

PDF のダウンロード

オプションのセットの 1 つだけを選択できる場合は、通常、ラジオ ボタンが使用されます。 ただし、欠点があります。グループ内の 1 つのラジオ ボタンを選択すると、すべてのラジオ ボタンをオフにすることはできません。 チェック ボックスはいつでもオフにすることができますが、相互に排他的ではありません。 このチュートリアルでは、相互に排他的なボックスチェック、両方の方法のベストを提供します。

概要

オプションのセットの 1 つだけを選択できる場合は、通常、ラジオ ボタンが使用されます。 ただし、欠点があります。グループ内の 1 つのラジオ ボタンを選択すると、すべてのラジオ ボタンをオフにすることはできません。 チェック ボックスはいつでもオフにすることができますが、相互に排他的ではありません。 このチュートリアルでは、相互に排他的なボックスチェック、両方の方法のベストを提供します。

手順

ASP.NET AJAX Control Toolkit には、MutuallyExclusiveCheckBox エクステンダーが含まれています。 これにより、プログラマはグループ名 (Key 属性) にチェックボックスを割り当てることができます。 同じグループ内のすべてのチェックボックスから、一度に 1 つだけ選択できます。

まず、新しい ASP.NET ページに 2 つのチェック ボックスを配置します。 さらに多くの場合がありますが、そのうちの 2 つで原則を示すことができます。

<asp:CheckBox ID="cbYes" runat="server" />Yes
<asp:CheckBox ID="cbNo" runat="server" />No

両方のチェック ボックスについて、MutuallyExclusiveCheckBoxExtender コントロールをページに配置する必要があります。 HTML ラジオ ボタン要素の値属性が属するグループを示すのと同じである必要があるのと同様に、両方の Key 属性に同じ値が必要です。 エクステンダーの TargetControlID プロパティは、チェック ボックスの ID をポイントします。

<ajaxToolkit:MutuallyExclusiveCheckBoxExtender ID="mecbe1" runat="server"
 TargetControlID="cbYes" Key="YesNo" />
<ajaxToolkit:MutuallyExclusiveCheckBoxExtender ID="mecbe2" runat="server"
 TargetControlID="cbNo" Key="YesNo" />

最後に、ASP.NET AJAX ScriptManager Control Toolkit のすべての要素で必要な ASP.NET AJAX を含めます。

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

ページを保存して実行する: チェックボックスの両方をチェックしたりオフにしたりできますが、両方のチェックボックスをオンにすることはできません。

一度に 1 つのチェック ボックスのみをオンにできます

チェック ボックスは一度に 1 つだけオンにできます (フルサイズの画像を表示する場合はクリックします)