MVC에서.면도기의 람다에서 선택 목록 값을 표시 할 수 없습니다.
면도기에 dropDownList를 표시하려고 할 때이 오류 메시지가 나타납니다.
나는 모델 클래스의DataBinding : 'System.Int32'에 'BranchId'라는 이름의 속성이 없습니다. 내가 한 기록을 볼 수 있어요 시계 창에서
SelectList
에 대한 참조가없는
BranchId
및
BranchName
가 포함 된 데이터베이스에서 반환되고있다. Controller 클래스 Create.cshtml
@Html.DropDownList("Branch", new SelectList(ViewBag.Branch, "BranchID", "BranchName"), htmlAttributes: new { @class = "form-control" })
감사에서
var list = new SelectList(db.Branchs.Where(branches => !db.CompanyBranches
.Any(d => d.BranchId == branches.BranchId))
.Select(branches => branches.BranchId).ToList(),
"BranchId", "BranchNumber");
ViewBag.Branch = new SelectList(list);
에서
는 을 제안 내 CompanyBranchesController에서 람다 식을 변경스티븐은 지금이다 var list = db.Branchs.Where (가지 =>! db.C ompanyBranches .Any (d => d.BranchId == branches.BranchId)) .Select (b => new {BranchId = b.BranchId, BranchName = b.BranchName}). ToList();
에 결과 :
드롭 다운리스트의 Create.cshtml는 @ Html.DropDownList (새 {@class = "폼 제어"} "분기"는 IEnumerable ViewBag.Branch, htmlAttributes 등) 인 드롭 다운리스트가 이다 {BranchId = 5, BranchNumber = Br0003}
나는 CompanyBranchController 목록 항목 = 새로운 목록에 추가하는 등 함께 연주 한(); foreach (목록에있는 var i) { SelectListItem s = new SelectListItem(); s.Text = i.BranchName.ToString(); s.Value = i.BranchId.ToString(); items.Add (s);
다른 면도기 표현을 시도 할뿐만 아니라 성공하지 못했습니다.
내가 잘못 가고있는 아이디어가 있습니까? 코드의이 부분에서
감사합니다 – Paul