2013-04-29 61 views
-1

我首次使用了MVC。我已經理解了邏輯,但是在實現我的代碼時我遇到了問題。我想用下列值顯示一個下拉列表。
在控制器:現在使用mvc4中的下拉列表

List<SelectListItem> ListItems = new List<SelectListItem>(); 
       ListItems.Add(new SelectListItem() 
       { 
        Value = "1", 
        Text = "---Select---", 
       }); 

       ListItems.Add(new SelectListItem() 
       { 
        Value = "2", 
        Text = " What is your nationality?", 
       }); 

       ListItems.Add(new SelectListItem() 
       { 
        Value = "3", 
        Text = " What is your birth place?", 
       }); 

       model.Sec_Que = new SelectList(ListItems, "Value", "Text"); 
       return View(model); 

,我想用所選擇的值,並將它添加到數據庫中。 在模型中,我有以下代碼:

[Display(Name = "Security Question")] 
    public SelectList Sec_Que { get; set; } 

鑑於我寫道:

@Html.DropDownListFor(m => m.Sec_Que, Model.Sec_Que) 

我得到一個錯誤,「對象引用不設置到對象的實例。」我如何解決它?請幫忙!

+1

你確定'model'不是null嗎? – 2013-04-29 13:09:36

+0

@vonv。我將參數傳遞給我的控制器, – user2219632 2013-04-29 16:02:26

+0

'公衆ActionResult註冊(RegisterModel模型)'所以我認爲模型不爲空 – user2219632 2013-04-29 16:03:27

回答

1

這裏是下拉如何需要被初始化

[Display(Name = "Security Question")] 
public IEnumerable<SelectListItem> Sec_Que { get; set; } 

另外補充支持字段以表示在視圖模型類的選定值

public string selectedText{ get; set; } 

最後爲此

@Html.DropDownListFor(m => m.selectedText, Model.Sec_Que) 
+0

但這不會解決問題'對象引用未設置爲對象的實例',wouldn是嗎? – 2013-04-29 13:22:41

+0

錯誤仍然存​​在。 '對象引用未設置爲對象的實例' – user2219632 2013-04-29 15:46:04

+0

如何實例化模型對象。是否在控制器中執行該操作?我沒有看到該部分.i參見model.sec_que,但模型對象的創建位置? – 2013-04-29 15:47:04