재우니의 블로그

ASP.NET MVC 의 DropDownList  의 Selected 속성 사용법

ASP.NET MVC 에서 ViewBag 에 DropDownList 형태값을 View 에 전달하기 위해서 기본값으로 Selected 에 넣기 위해서는 아래처럼 한번 sql to linq 구문으로 데이터를 가져온 다음, selected 속성을 위해 select 함수로 객체를 검색하여 selected 속성에 true 값을 넣습니다.

//조직도 tree 형식 바인딩 하기
            var dalDept = new Intra.Data.Account.Dept();
            var modelDept = dalDept.SelDeptByParentID(CompanyID, 0).Where(m => m.ActiveDept == "1").OrderBy(m => m.DeptOrder).Select(x =>
                        new SelectListItem
                        {
                            Value = x.DeptID.ToString(),
                            Text = x.DeptName
                        });


            ViewBag.DeptList = modelDept.Select(l => new SelectListItem { Selected = (l.Value.ToLong<long>() == this.RootDeptIDs), Text = l.Text, Value = l.Value });

 

아래와 같은 구문으로 구현하면 되지 않습니다.  ㅡㅡ;

 


//조직도 tree 형식 바인딩 하기
            var dalDept = new Intra.Data.Account.Dept();
            var modelDept = dalDept.SelDeptByParentID(CompanyID, 0).Where(m => m.ActiveDept == "1").OrderBy(m => m.DeptOrder).Select(x =>
                        new SelectListItem
                        {
                            Value = x.DeptID.ToString(),
                            Text = x.DeptName,
                            Selected = (l.Value.ToLong<long>() == this.RootDeptIDs                 
                        });

            IEnumerable<SelectListItem> modelDeptList = new SelectList(modelDept, "Value", "Text");
            ViewBag.DeptList = modelDeptList;

 

~ 뷰내용

@Html.DropDownList("ddlDeptList", (IEnumerable<SelectListItem>)ViewBag.DeptList, "-----", new { @Class = "input form-control" })