创建互斥复选框 (C#)

作者 :Christian Wenz

下载 PDF

如果只能选择一组选项中的一个,则通常使用单选按钮。 不过,有一个缺点:选择组中的一个单选按钮后,无法取消选中所有单选按钮。 随时可以取消选中复选框,但并非互斥。 本教程提供了这两种方法的最佳方法:检查互斥的框。

概述

如果只能选择一组选项中的一个,则通常使用单选按钮。 不过,有一个缺点:选择组中的一个单选按钮后,无法取消选中所有单选按钮。 随时可以取消选中复选框,但并非互斥。 本教程提供了这两种方法的最佳方法:检查互斥的框。

步骤

ASP.NET AJAX 控件工具包包含 MutuallyExclusiveCheckBox 扩展程序。 这使程序员可以将任何复选框分配给组名称 (Key 属性) 。 在同一组中的所有检查框中,一次只能选择一个。

让我们先在新的 ASP.NET 页面上放置两个检查框。 可以有更多,但其中两个足以演示该原则:

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

对于这两个复选框,必须在页面上放置 MutuallyExclusiveCheckBoxExtender 控件。 这两个 Key 属性需要具有相同的值,就像 HTML 单选按钮元素的值属性必须相同才能表示它们所属的组一样。 扩展程序的 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 控件工具包的所有元素所需的 ASP.NET AJAX:

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

保存并运行页面:可以检查和取消选中这两个检查框,但在任何时候都不能同时选中检查框。

一次只能选中一个复选框

一次只能选中一个复选框, (单击以查看全尺寸图像)