我需要一起验证2个CheckBoxLists。这意味着我可以从任一列表中选中一个框,验证必须通过。实现这样的事情的正确方法是什么?
我很想扩展CustomValidator,添加一个属性ControlValueId2来传递我的第二个CheckBoxList的ID,但我无法帮助,但我觉得必须有更好的方法。
我使用2个复选框列表的原因是因为数据来自2个具有不同模式的不同数据库,即使它们看起来相同,它们也是不同的。我不认为你可以将2个数据源绑定到一个复选框列表吗?
有点新的网络形式,所以任何见解将不胜感激。 Sry我不能发布任何代码,但我希望我足够清楚!
答案 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