Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从数据库MVC4的DropDownList中删除重复项_C#_Asp.net_Asp.net Mvc 4_Drop Down Menu - Fatal编程技术网

C# 从数据库MVC4的DropDownList中删除重复项

C# 从数据库MVC4的DropDownList中删除重复项,c#,asp.net,asp.net-mvc-4,drop-down-menu,C#,Asp.net,Asp.net Mvc 4,Drop Down Menu,我想从数据库中获取数据并将其添加到DropDownList中,以便在搜索面板中选择一个项目,我想从列表中删除重复的项目一个作者,多本书。我该怎么办 List<string> authorname = new List<string>(); foreach (var item in DB.Books) { authorname.Add(item.BookDetails.authorname.ToString()); } ViewData["AuthorName"

我想从数据库中获取数据并将其添加到DropDownList中,以便在搜索面板中选择一个项目,我想从列表中删除重复的项目一个作者,多本书。我该怎么办

List<string> authorname = new List<string>();

foreach (var item in DB.Books)
{
    authorname.Add(item.BookDetails.authorname.ToString());
}

ViewData["AuthorName"] = new SelectList(authorname);

从数据库中选择唯一值后,使用唯一值填充DropDownList。在SQL查询中使用“distinct”关键字以实现此目标

SELECT DISTINCT column_name,column_name
FROM table_name;
试试下面

List<string> authorname = new List<string>();

foreach (var item in DB.Books)
{
   if(!authorname.Contains(item.BookDetails.authorname.ToString()))
      authorname.Add(item.BookDetails.authorname.ToString());
}

ViewData["AuthorName"] = new SelectList(authorname);

您可以直接使用linq并获取不同的项

代码在这里

list<string> authorNamesDistinct = (from a in DB.Books
select a.BookDetails.authorname).Distinct().ToList();


ViewData["AuthorName"] = new SelectList(authorNamesDistinct);
list<string> authorNamesDistinct = (from a in DB.Books
select a.BookDetails.authorname).Distinct().ToList();


ViewData["AuthorName"] = new SelectList(authorNamesDistinct);