使用mvc4中的下拉列表

时间:2013-04-29 13:04:10

标签: c# mysql asp.net-mvc

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

我收到错误,'对象引用没有设置为对象的实例。'我如何解决它?请帮忙!

1 个答案:

答案 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)