CheckBoxList验证

时间:2015-08-07 14:35:19

标签: c# asp.net webforms

我需要一起验证2个CheckBoxLists。这意味着我可以从任一列表中选中一个框,验证必须通过。实现这样的事情的正确方法是什么?

我很想扩展CustomValidator,添加一个属性ControlValueId2来传递我的第二个CheckBoxList的ID,但我无法帮助,但我觉得必须有更好的方法。

我使用2个复选框列表的原因是因为数据来自2个具有不同模式的不同数据库,即使它们看起来相同,它们也是不同的。我不认为你可以将2个数据源绑定到一个复选框列表吗?

有点新的网络形式,所以任何见解将不胜感激。 Sry我不能发布任何代码,但我希望我足够清楚!

1 个答案:

答案 0 :(得分:0)

同时验证两个控件会有点痛苦。我倾向于将两个数据源聚合在一起的更简单的解决方案,放在一个复选框列表中。

public void Page_Load(Object sender, EventArgs e)
{
   // Get items from database table 1
    var items1 = GetTable1Data();
    foreach(var item in items1)
    {
       this.checkboxList1.Items.Add( new ListItem(item.DisplayMember, item.ValueMember));
    }

    // Get items from database table 2
    var items2 = GetTable2Data();
    foreach(var item in items2)
    {
       this.checkboxList1.Items.Add( new ListItem(item.DisplayMember, item.ValueMember));
    }
}

然后你应该能够在单个复选框列表中使用requiredfieldvalidator