J'utilise Linq to Entities et j'ai ajouté la stmt using de using System.Linq.Dynamic;
Mon objectif est de passer dans le whereClause
dans la requête emailList (voir la capture d'écran).
Des idées ?
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Après avoir utilisé la suggestion de @Michael, j'ai réussi à le faire fonctionner avec ce qui suit :
HTML (remarquez que j'ai placé la valeur du champ dans l'attr. 'Value') :
<asp:CheckBoxList ID="_checkboxGroups" runat="Server">
<asp:ListItem Text="Sid Dickens Lovers" Value="SidDickens_TF" Selected="False" />
<asp:ListItem Text="Rosamond Lover" Value="Rosamond_TF" Selected="false" />
<asp:ListItem Text="Wine and Cheese Lovers" Value="WineAndCheese_TF" Selected="false" />
<asp:ListItem Text="Good Clients" Value="IntDesign_TF" Selected="false" />
<asp:ListItem Text="Vendors" Value="Vendor_TF" Selected="false" />
</asp:CheckBoxList>
Code derrière :
// determine # of items in asp:CheckBoxList
var groupCount = _checkboxGroups.Items.Count;
var conditions = new List<string>();
for (int i = 0; i < groupCount; i++)
{
if (_checkboxGroups.Items[i].Selected)
{
conditions.Add(_checkboxGroups.Items[i].Value.ToString() + " == true");
}
}
string whereClause = string.Join(" OR ", conditions.ToArray());
ElanEntities3 db = new ElanEntities3();
var emailList = (from c in db.vEmailListViewforSendings
orderby c.Email
select c).AsQueryable();
emailList = emailList.Where(whereClause);
_listViewClients.DataSource = emailList;