复选框列表验证

CheckBoxList Validation

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

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

我使用 2 个复选框列表的原因是因为数据来自具有不同模式的 2 个不同的数据库,即使它们看起来相同,但实际上它们是不同的。我认为您不能将 2 个数据源绑定到一个复选框列表?

网络表单有点新,所以任何见解都将不胜感激。对不起,我不能 post 任何代码,但我希望我足够清楚!

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

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