我有两个表:
- has_service
- 服务
我想得到表1中的项目,然后与第二个表进行比较,看看是否匹配。项目应显示为已选择。
我的代码有问题吗?
ListItem thItm;
//List all services in system DB.
var AllSrvs = from s in db.services
select s;
//Get current request-services ID's
var reqSrvs = (from rs in db.has_services
where rs.request_id == Convert.ToInt32(Request["reqID"].Trim())
select rs.service_id).ToArray();
foreach (service se in AllSrvs)
{
thItm = new ListItem();
thItm.Text = se.service_name_en;
thItm.Value = se.service_id.ToString();
for (int i = 0; i < reqSrvs.Count();i++ )
{
if (reqSrvs[i] ==Convert.ToInt32( se.service_id))
{
thItm.Selected = true;
}
else
{
thItm.Selected = false;
}
}
RequestServicesCheckBoxList.Items.Add(thItm);
}
谢谢大家。:)我已经想好了:)问题出在"其他"部分。删除了它,它现在运行良好。。。
ListItem thItm;
//List all services in system DB.
var AllSrvs = from s in db.services
select s;
//Get current request-services ID's
var reqSrvs = (from rs in db.has_services
where rs.request_id == Convert.ToInt32(Request["reqID"].Trim())
select rs.service_id).ToArray();
foreach (service se in AllSrvs)
{
thItm = new ListItem();
thItm.Text = se.service_name_en;
thItm.Value = se.service_id.ToString();
for (int i = 0; i < reqSrvs.Count();i++ )
{
if (reqSrvs[i] ==Convert.ToInt32( se.service_id))
{
thItm.Selected = true;
}
// else
// {
// thItm.Selected = false;
// }
}
RequestServicesCheckBoxList.Items.Add(thItm);
}