从mvc中的SelectList中排除多个项目

时间:2017-01-27 04:01:32

标签: c# asp.net-mvc linq

我有一个下拉菜单,可以从Startup.cs文件中选择用户角色。

ViewBag.Name = new SelectList(context.Roles.Where(u => !u.Name.Contains("Admin")).ToList(), "Name", "Name");

以上代码不包含管理员角色。我还想排除客户角色。我正在使用下面的代码来做到这一点。它没有给我任何错误,但结果是所有角色都包含在下拉菜单中:

ViewBag.Name = new SelectList(context.Roles.Where(u => !u.Name.Contains("Admin") || !u.Name.Contains("Customer")).ToList(), "Name", "Name");

如何从SelectList中排除多个项?

2 个答案:

答案 0 :(得分:0)

你也可以尝试这个。

ViewBag.Name = new SelectList(context.Roles.Where(u => u.Name != "Admin" && u.Name != "Customer")).ToList(), "Name", "Name");

答案 1 :(得分:0)

Tetsuya Yamamoto他在评论中发布的答案。

尝试

ViewBag.Name = new SelectList(context.Roles
.Where(u => !u.Name.Contains("Admin") 
&& !u.Name.Contains("Customer")).ToList(), "Name", "Name"); 

选择没有给定条件的任何角色。