我第一次使用MVC。我已经理解了逻辑但我在实现代码时遇到了问题。我想显示一个包含以下值的下拉列表 在控制器中:
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);
现在,我想使用所选的值并将其添加到数据库中。 在Model i中有以下代码:
[Display(Name = "Security Question")]
public SelectList Sec_Que { get; set; }
在视图中我写道:
@Html.DropDownListFor(m => m.Sec_Que, Model.Sec_Que)
我收到错误,'对象引用没有设置为对象的实例。'我如何解决它?请帮忙!
答案 0 :(得分: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)