-1

我是第一次使用 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);

现在,我想使用选定的值并将其添加到数据库中。在模型中,我有以下代码:

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

鉴于我写道:

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

我收到一个错误,“对象引用未设置为对象的实例。” 我如何解决它?请帮忙!

4

1 回答 1

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)
于 2013-04-29T13:09:53.187 回答