gpt4 book ai didi

c# - 在 ASP.NET MVC 中填充下拉列表

转载 作者:太空狗 更新时间:2023-10-29 23:26:09 24 4
gpt4 key购买 nike

我正在学习 ASP.NET MVC。我在处理下拉列表时遇到了一个小问题。

这是我在 Controller 中所做的

List<Int32> myList = new List<Int32>();
var a = (from m in datacontext.services
select m.ServiceID);
myList = a.ToList();
ViewData["ServiceID"] = new SelectList((IEnumerable<SelectListItem>)
a.ToList(), "ServiceID", "ServiceID");

在 View 中

 @Html.DropDownListFor(model => model.ServiceID, ViewData["ServiceID"] as SelectList)

这会导致错误

Unable to cast object of type 'System.Collections.Generic.List1[System.Int32]'
to type 'System.Collections.Generic.IEnumerable
1[System.Web.Mvc.SelectListItem]'."

如何解决?

处理查询填充下拉列表的最佳方法是什么?

最佳答案

Actor 阵容有误。

要修复你可以这样做:

var a = datacontext.services.Select(arg => new { ServiceID = arg.ServiceID }).ToList();
ViewData["ServiceID"] = new SelectList(a, "ServiceID", "ServiceID");

或者这个:

var a = datacontext.services.Select(arg => arg.ServiceID).ToList();
ViewData["ServiceID"] = new SelectList(a);

在您的代码中,a 是整数列表。它不能被转换到 SelectListItem 的列表中。

旁注:myList 变量未在您的代码中使用。

关于c# - 在 ASP.NET MVC 中填充下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6301271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com