2012-12-17 62 views

回答

0

儘量避免使用像ViewBagViewData和動態工具和操作方法,並在視圖之間傳輸數據。使用強類型的視圖模型。

假設你的看法是創建一個新的課程,其中用戶必須選擇從主題列表中選擇一個主題,像這樣創建

public class CourseVM 
{ 
    public List<SelectListItem> Subjects { set;get;} 
    public int SelectedSubject { set;get;} 
    public CourseVM() 
    { 
    Subjects=new List<SelectListItem>(); 
    } 
} 

而在你GET動作視圖模型,創建一個對象你查看模型並填寫「主題」屬性。

public ActionResult Create() 
{ 
    var vm=new CourseVM(); 
    //the below is for demo. replace with database data 
    vm.Subjects.Add(new SelectListItem{ Value="1", Text="Maths"}); 
    vm.Subjects.Add(new SelectListItem{ Value="2", Text="English"}); 
    return View(vm); 
} 

現在在您的視圖中,強烈鍵入您的視圖模型。

@model CourseVM 
@using (Html.BeginForm()) 
{ 
//Other form elements as well 
@Html.DropdownListFor(x=>x.SelectedSubject, 
        new SelectList(Subjects,"Value","Text"),"Select one") 
    <input type="submit" /> 
} 
相關問題