Asp.net 没有类型为';IEnumerable<;选择列表项>';那有钥匙';ddlcontent';

Asp.net 没有类型为';IEnumerable<;选择列表项>';那有钥匙';ddlcontent';,asp.net,asp.net-mvc,asp.net-core,asp.net-mvc-4,asp.net-mvc-3,Asp.net,Asp.net Mvc,Asp.net Core,Asp.net Mvc 4,Asp.net Mvc 3,当我尝试访问控制器中的下拉值时,我使用该下拉值来获取此错误“没有具有键“ddlcontent”的“IEnumerable”类型的ViewData项”。现在的问题是,当我使用下面的当前视图代码时,它什么也不显示。请告诉我我在哪里错过了它 我尝试检查的链接有: 但到目前为止,他们都没有提供帮助。 看法 发件人: 您缺少设置中的文本和值是哪个字段 选择列表本身。这就是为什么它在每个节点上都执行.ToString() 对象。你可以认为这是一个 SelectListItem它应该足够智能,可以检测到此

当我尝试访问控制器中的下拉值时,我使用该下拉值来获取此错误“没有具有键“ddlcontent”的“IEnumerable”类型的ViewData项”。现在的问题是,当我使用下面的当前视图代码时,它什么也不显示。请告诉我我在哪里错过了它

我尝试检查的链接有:

但到目前为止,他们都没有提供帮助。 看法

发件人:

您缺少设置中的文本是哪个字段 选择列表本身。这就是为什么它在每个节点上都执行
.ToString()
对象。你可以认为这是一个
SelectListItem
它应该足够智能,可以检测到此。。。但事实确实如此 不是

因此,在您的情况下,您需要将
List
转换为
List
,如下所示:

ViewBag.ddlcontent = new SelectList(listone.Select(i=> new SelectListItem()
                                            {
                                                Text = i,
                                                Value = i
                                            }).ToList(),"Value" , "Text");

@Html.DropDownList(“dllcontent”,ViewBag.ddlcontent作为SelectList)
@Sajid我使用了你的代码,但当我单击搜索按钮时什么都没有发生ildiz,我使用了你的代码,但当我单击搜索按钮时什么都没有发生,但你的问题不是单击,您是否使用此代码通过下拉菜单显示项目?它确实显示项目,但仍然不显示搜索结果。
       [HttpGet]
       public ActionResult TakeDailyAttendance(string ddlcontent, DateTime? startdate, DateTime? enddate)
        {
        var listone = new List<string>();
        var nameqry = from n in db.Attendances
                      select n.Subject;

        listone.AddRange(nameqry.Distinct());

        ViewBag.ddlcontent = new SelectList(listone);

        var tb_teachers = db.Attendances.Where(x => x.StartDate >= startdate && x.EndDate <= enddate && x.Subject.Contains(ddlcontent) && x.Approval == "Going").ToList();

        return View(tb_teachers.ToList());
    }
[Table("Attendance")]
public partial class Attendance
{
    public int AttendanceId { get; set; }

    [StringLength(50)]
    public string TeacherId { get; set; }

    [StringLength(50)]
    public string FirstName { get; set; }

    [StringLength(50)]
    public string LastName { get; set; }

    [StringLength(50)]
    public string IdNumber { get; set; }

    [StringLength(200)]
    public string EmailId { get; set; }

    [StringLength(50)]
    public string PhoneNumber { get; set; }

    [StringLength(200)]
    public string SchoolName { get; set; }

    [StringLength(50)]
    public string District { get; set; }

    [StringLength(50)]
    public string Province { get; set; }

    public DateTime? Date { get; set; }

    public int? EventID { get; set; }

    [StringLength(100)]
    public string Subject { get; set; }

    [StringLength(300)]
    public string Description { get; set; }

    [StringLength(200)]
    public string Location { get; set; }

    [Column(TypeName = "date")]
    public DateTime? StartDate { get; set; }

    [Column(TypeName = "date")]
    public DateTime? EndDate { get; set; }

    [StringLength(100)]
    public string CourseId { get; set; }

    [StringLength(50)]
    public string AttendaceStatus { get; set; }


    [StringLength(50)]
    public string Approval { get; set; }

    [StringLength(50)]
    public string Pin { get; set; }
}
ViewBag.ddlcontent = new SelectList(listone.Select(i=> new SelectListItem()
                                            {
                                                Text = i,
                                                Value = i
                                            }).ToList(),"Value" , "Text");