【发布时间】:2012-10-27 08:47:23
【问题描述】:
我有一个gridview,我在其中以编程方式添加了复选框。 在 foreach 循环中创建复选框时,我会执行以下操作,以便它们在选中时触发事件,
cbGV = new CheckBox();
cbGV.ID = "cbGV";
cbGV.AutoPostBack = true;
cbGV.CheckedChanged += new EventHandler(this.cbGV_CheckedChanged);
所以基本上当我想要触发事件时,我有以下内容,
protected void cbGV_CheckedChanged(object sender, EventArgs e)
{
//gets the current checked checkbox.
CheckBox activeCheckBox = sender as CheckBox;
foreach (GridViewRow gvr in GridView1.Rows)
{
//this code is for finding the checkboxes in the gridview.
CheckBox checkBox = ((CheckBox)gvr.FindControl("cbGV"));
//so basically, right here i'm confused on how i should compare the if/else logic, how i should compare and disable every other checkbox if the current checkbox is checked. Any ideas gues?
}
提前感谢您的回答。
【问题讨论】:
-
好吧,首先请说明为什么不使用单选按钮而不是复选框?尽管如此,如果你坚持,那么你可以使用 jquery/javascript 实现同样的效果。
-
@Daredev - 我不知道这是否是原因,但有区别:单选按钮不能取消选中(一旦选中),复选框可以。
-
客户端请求的是复选框而不是单选按钮。
-
@user1670729:好的……没问题。那么,我们可以考虑使用 JavaScript/jQuery 吗?它可以用 jQuery 无缝完成。如果您愿意,我可以提供我的意见。
-
@user1670729:或者为什么不通过让单选按钮看起来像复选框来欺骗用户?如果有兴趣,请查看:jsfiddle.net/mq8Zq; stackoverflow.com/questions/279421/…;
标签: c# asp.net events gridview checkbox