ASP.NET - 将 AspNetUsers 表中的所有用户显示在"标识"中的下拉列表中?



在做了一些研究之后,我找到了做我的问题的方法,但是,我正在尝试在一个名为GetAssignedToDDL的函数中执行此操作,该函数的类型为List<SelectListItem>

在尝试了我在这里和其他资源上找到的一些答案后,我不断收到同样的错误。我不断得到的错误:

无法隐式转换类型 'System.Collections.Generic.List' 自 'System.Collections.Generic.List' LWC C:\Users\runningexe\Desktop\LincolnWaterCommissionWorkOrderInventorySystem\LWC\LWC\Controllers\WorkOrderController.cs 201 Active

有没有办法在函数的类型List<SelectListItem的情况下做到这一点?还是我在这里缺少其他东西。就像我说的,我尝试了许多本质上做同样事情的解决方案,但我得到的错误是一样的。

编辑:使用柯克的答案的功能。现在我的数据库上下文出现错误。

private static List<SelectListItem> GetAssignedToDDL()
{
List<SelectListItem> assignedToList = new List<SelectListItem>();
var dbContext = new ApplicationDbContext();
var userList = dbContext.Users.ToList();
assignedToList = userList.Select(u => new SelectListItem
{
Text = u.UserName,
Value = u.Id
}).ToList();
return assignedToList;
}

我之前尝试过:

private static List<SelectListItem> GetAssignedToDDL()
{
return userManager.Users.ToList();
}

以及使用不同代码的其他一些尝试(相同的错误(。不过这是最近的一次。

数据库上下文错误:

尚未为此 DbContext 配置任何数据库提供程序。可以通过重写 DbContext.OnConfigure 方法或在应用程序服务提供程序上使用 AddDbContext 来配置提供程序。如果使用 AddDbContext,则还要确保 DbContext 类型在其构造函数中接受 DbContextOptions 对象,并将其传递给 DbContext 的基构造函数。

您可以使用LINQ 的Select函数。在看到编译错误的行上,尝试附加以下内容:

.Select(u => new SelectListItem { Text = u.UserName, Value = u.Id }).ToList();

如果您包含代码,我可以编辑此答案以使其更具体地针对您的用例。如果尚未包含using System.Linq;,您还需要包含它。

如果您不熟悉Select,它实际上被称为mapping函数。你可以在这里找到一个很好的解释。

相关内容

  • 没有找到相关文章

最新更新