我试图绑定我的数据到gridview只有当至少有一个复选框被选中在每个复选框列表。然而,它似乎不工作,因为当我点击提交它没有复选框选中它仍然去在绑定语句,并没有显示文本消息的标签。
我的代码哪里出错了?请帮助
if (IsPostBack)
{
if (CheckBoxList1.SelectedValue != null && CheckBoxList2.SelectedValue != null)
{
Bind();
}
else if (CheckBoxList1.SelectedValue == String.Empty)
{
LABEL1.Text = ("Please select at least one checkbox();
}
else if (CheckBoxList2.SelectedValue == String.Empty)
{
LABEL2.Text = ("Please select at least one checkbox").ToString();
}
5条答案
按热度按时间krcsximq1#
使用链接
Any
使用
||
运算符,如果你想要至少一个检查项目。无论从哪个列表。nszi6y052#
我认为
If(IsPostback)
是罪魁祸首。如果你的页面被一个按钮刷新了(PostBack),那么你的复选框列表将被绑定()。所以每次你点击页面上的任何一个按钮,你的列表都会被刷新,这会使你选中的复选框被删除。尝试将
If(IsPostBack)
更改为If(!IsPostBack)
编辑:
哦,找到了,你的. SelectedValue是一个字符串,因此它永远不会为空。
改变这个
到这个
并将
If(!IsPostBack)
恢复为If(IsPostBack)
,因为此代码事件似乎在button_click
或其他项下,而不是我假设的PageLoad
。如有疑问,请联系我们。谢谢
7rfyedvj3#
您可以使用Count属性来确定是否从ComboBoxList中选择了任何项目。Count将返回所选项目的数目,如果您没有标记任何选择,则此属性将返回0。
4jb9z9bj4#
复选框的值不会为空,因此只有值为空时才需要选中,如下所示:
ckocjqey5#
简单的