我想从众多下拉列表中获取值,并根据所选选项构建一个where语句。如果他们没有被选中,那么他们应该被排除在选择陈述之外。ASP.NET C#LINQ条件WHERE子句
这是我如何做到这一点,但我认为它不能用linq这样完成。
IEnumerable<IGrouping<string, Forest>> treeQuery =
from trees in Forest
if (ddlType1.SelectedValue!=null)
{
string strWhere += trees.Type1 == ddlType1.SelectedValue
}
else if (ddlType2.SelectedValue!=null)
{
string strWhere += trees.Type2 == ddlType2.SelectedValue
}
where strWhere
orderby trees.Nuts
group trees by trees.TrunkColour;
任何帮助将不胜感激。
这是之前我加入...
IEnumerable<IGrouping<string, Forest>> treeQuery =
from trees in Forest
where trees.Type1 == "oak"
orderby trees.Nuts
group trees by trees.TrunkColour;
你的第二个例子是在进行赋值,我想你想测试相等,即你有'='当我认为你的意思是== == –
谢谢,刚刚更正。 – user1024416
如果用户从ddlType1中选择了一个值并且ddlType2应该根据您的示例忽略ddlType2? –