2012-03-25 15 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) 

SOの答えを見ているように、示唆しているようです。しかし、エラーが発生します。

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

ご迷惑をおかけして申し訳ありません。

答えて

5

エラーメッセージがDropDownListFor helperは2つの引数を取り、かなり自明です。

ビューで、選択した値

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

最初のパラメータは、モデルのドロップダウンリストの選択値です。 2番目の値はステータスのリストです。

@Html.DropDownListFor(x=> x.SelectedValue, Model.Status) 
関連する問題