从选择列表查询填充下拉列表会在下拉列表中返回System.Web.Mvc.SelectListItem



我有一个下拉列表,它运行得很好,但必须进行编辑,因为我需要在第二个表上执行联接,我得出了以下结果。

ViewBag.Type = new SelectList(from r in db.Departments
                              join s in db.Payment on r.departmentId equals s.deparmentId_FK
                              where r.myID == myID
                              select new SelectListItem
                                         {
                                              Value = s.paymentTypeId.ToString(),
                                              Text = s.name
                                         }).ToList();

在我看来

@Html.DropDownList("Type", (IEnumerable<SelectListItem>)ViewBag.Type, "--- Tous ---")
@Html.DropDownList("Type", ViewBag.Type as IEnumerable<SelectListItem>, "Choose Type", new { @class = "form-control listbox" })
@Html.DropDownList("Type", new SelectList(ViewBag.Type, "Value", "Text"), "Choose Type", new { @class = "form-control listbox" })`

遇到的问题是,尽管项目被正确过滤,但我无法获得除System.Web.Mvc.SelectListItem之外的任何数据。我已经从其他问题中采取了步骤,但我无法回避这个问题。

如果我能知道遗漏了什么,我将不胜感激。

问候

尝试只选择一个新的匿名对象。根据您使用的Entity Framework的版本,问题可能是它试图在服务器或客户端上评估Select语句。它所做的任何一个显然都不喜欢尝试选择新的SelectListItem。以下示例。

ViewBag.Type = new SelectList((from r in db.Departments
                              join s in db.Payment on r.departmentId equals s.deparmentId_FK
                              where r.myID == myID
                              select new
                                         {
                                              Value = s.paymentTypeId.ToString(),
                                              Text = s.name
                                         }).ToList());

相关内容

  • 没有找到相关文章

最新更新