protected void lstGroup_SelectedIndexChanged(object sender, EventArgs e)
{
string selectedValues=string.Empty;
foreach (ListItem li in lstGroup.Items)
{
if (li.Selected == true)
{
selectedValues += li.Value+",";
}
}
selectedValues = selectedValues.Trim(',');
var accessright = (from ug in Db.VCT_USER_GROUPs
where ug.GROUP_ID in(selectedvalues)
select new
{
ug.GROUP_ID,
ug.GROUP_NAME
}).ToList();
if (true)
{
dlGroup.DataSource = accessright;
dlGroup.DataBind();
}
}
以上是我的代码。在selectedValues变量中,我有像1,2,3这样的值,我想在linq中使用子句,就像ug.GROUP_ID在(selectedvalues)中一样。但是这是给我错误。如何做到这一点in linq中的条款
var accessright =(来自Db.VCT_USER_GROUPs中的ug 其中selectedvalues.Contains(Convert.toString(ug.GROUP_ID)) sel ect new { ug.GROUP_ID, ug.GROUP_NAME })。ToList();但它给我错误“只有可以在客户端上评估的参数支持String.Contains方法” – amit 2011-05-19 07:20:47
@amit - 我已更新我的答案以修复您的'selectedvalues' – cjk 2011-05-19 10:35:31