2010-01-27 1 views
2

I 사용자 테이블을 가지고, 그것은 ID, 이름 마지막 이름을 가진도움말

나는

내가 ID를 가지고있는 드롭 다운리스트를 원하는 SQL 클래스에 LINQ를 가치에 대한 이름과 성 (lastname)이 있습니다 .... 어떻게해야합니까?

ViewData["User_Id"] = new SelectList(UsersRepository.GetAll(), "Id", "Name"); 

잘 작동하지만 내가 일을 나던

ViewData["User_Id"] = new SelectList(UsersRepository.GetAll(), "Id", "Name "+" Last_Name"); 

을 원하는 ...

답변

1

이 좋은 오래된 LINQ를 사용하여 보시기 바랍니다 도움이됩니다.

var data = from u in UsersRepository.GetAll() 
      select new { 
       Id : u.Id, 
       Name : string.Concat(u.Name, u.LastName) 
      }; 
ViewData["User_Id"] = new SelectList(data, "Id", "Name"); 
1

이 컨트롤은 리플렉션을 사용하여 dataText 및 dataValue에 적합한 속성을 찾습니다. 속성을 함께 추가 할 수 없습니다.

그러나 익명의 유형을 만들 수 있습니다. 데이터베이스에서 수집 가정

같이 보입니다 다음

<%= Html.DropDownList("Username", (SelectList)ViewData["User_Id"], "Select a User") %> 
:

var testModelCollection = new List<TestModel>() { 
     new TestModel() { Id = 1, Name = "Bob", LastName = "Smith" }, 
     new TestModel() { Id = 2, Name = "Jack", LastName = "Thompson" } 
    }; 

    var changedModelCollection = from t in testModelCollection 
           select new { 
            Id = t.Id, 
            FullName = t.Name + " " + t.LastName 
           }; 


    ViewData["User_Id"] = new SelectList(changedModelCollection, "Id", "FullName"); 

보기에있는 DropDownList에 대한 귀하의 정의는 다음과 같을 것