2012-03-25 3 views
3

모델에 연결된 허용 된 값 목록을 기반으로 ASP.NET MVC3보기에서 드롭 다운 목록을 만들려고합니다.ASP.NET MVC3에서 드롭 다운 목록을 만드는 방법은 무엇입니까?

지금까지 내 모델에서, 나는있어 : 내가있어 내보기에

namespace NS 
{ 
    public class Model 
    { 
     public Model() 
     { 
      Status = new List<SelectListItem>(); 
      Status.Add(new SelectListItem { Text = "New", Value = "New" }); 
      Status.Add(new SelectListItem { Text = "PaymentPending", Value = "PaymentPending" }); 
      Status.Add(new SelectListItem { Text = "PaymentProcessed", Value = "PaymentProcessed" }); 
      Status.Add(new SelectListItem { Text = "Dispatched", Value = "Dispatched" }); 
      Status.Add(new SelectListItem { Text = "Complete", Value = "Complete" }); 
      Status.Add(new SelectListItem { Text = "Cancelled", Value = "Cancelled" }); 
     } 

     public List<SelectListItem> Status { get; set; } 
    } // class Model 
} // NS 

(분명히 트리밍 불필요한 물건 아웃) 그리고

:

@model NS.Model 
@Html.DropDownListFor(Model.Status) 

그래서에 대한 답변을 보는 것이 좋습니다 것 같습니다. 하지만 오류가 발생합니다.

Compiler Error Message: CS1501: No overload for method 'DropDownListFor' takes 1 arguments

아무리 감사드립니다.

답변

5

오류 메시지는 매우 자명하며, DropDownListFor helper은 두 가지 인수를 취합니다.

뷰에서 다음 선택한 값

public class Model 
{ 
public Model() { 
    Status = new List<SelectListItem>(); 
    Status.Add(new SelectListItem { Text = "New", Value = "New" }); 
    Status.Add(new SelectListItem { Text = "PaymentPending", Value = "PaymentPending" }); 
    Status.Add(new SelectListItem { Text = "PaymentProcessed", Value = "PaymentProcessed" }); 
    Status.Add(new SelectListItem { Text = "Dispatched", Value = "Dispatched" }); 
    Status.Add(new SelectListItem { Text = "Complete", Value = "Complete" }); 
    Status.Add(new SelectListItem { Text = "Cancelled", Value = "Cancelled" }); 
} 
public List<SelectListItem> Status { get; set; } 
public string SelectedVal{get;set;} 
} 

를 포함하는 속성을 가지고 모델을 수정

@NS.Model 
@Html.DropDownListFor(x=> x.SelectedVal, x.Status) 
0

첫 번째 매개 변수는 모델의 드롭 다운 목록에서 선택한 값입니다. 두 번째 값은 상태 목록입니다.

@Html.DropDownListFor(x=> x.SelectedValue, Model.Status) 
관련 문제