CheckBoxList项签入-取消签入代码隐藏



我有两个表:

  1. has_service
  2. 服务

我想得到表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);

}

最新更新