连接选择列表中的两个字段(C#)

时间:2015-08-20 13:46:06

标签: c# asp.net-mvc viewbag selectlist

我使用viewbag创建一个选择列表,我想显示连接在一起的两个字段。但是,它在我的观点上崩溃了。这是viewbag代码:

ViewBag.PackageId = new SelectList(db.Packages.Where(p => p.status == "A"), "u_package_id", "u_package_id" + "'-'" + "package_nme");

3 个答案:

答案 0 :(得分:4)

SelectList构造函数的第二个和第三个参数是必须与模型中属性名称匹配的字符串(在您的情况下,您没有名为bool的属性,因此错误)。

在控制器中,生成bitArray.Get(36)

的集合
"u_package_id-package_nme"

附注:建议您为您的属性命名以反映它们的属性(即它的项目集合,而不是ID SelectListItem,而不是ViewBag.PackageList = db.Packages.Where(p => p.status == "A").Select(p => new SelectListItem() { Value = p.u_package_id, // may need .ToString() depending on the property type Text = string.Format("{0}-{1}", p.u_package_id, p.package_nme) } ),如果模型,这将是必要的您的绑定包含名为PackageList

的属性

答案 1 :(得分:3)

这应该有效

var parentRow = deleteLink.parents("tr:first, li:first");

答案 2 :(得分:0)

感谢deramko,我有答案。他99%的路在那里。这是最终的代码:

ViewBag.PackageId = db.Packages.Where(p => p.status == "A")
      .Select(p => new SelectListItem
      {
             Text = p.u_package_id + "-" + p.package_nme,
             Value = p.u_package_id.ToString()
      });