使用c#在mvc4中使用viewbag数据的下拉列表

时间:2013-08-26 06:25:02

标签: c# html5 asp.net-mvc-4

您好我想填写我的视图页面中的下拉列表,我的代码是

public class MemberBasicData
{
    public int Id { get; set; }
    public string Mem_NA { get; set; }
    public string Mem_Occ { get; set; }
}

//控制器

  public ActionResult Register()
    {
        var users = new Member().GetAllMembers();
        ViewBag.Users = users;   
        return View();
    }

//视图

 @model IEnumerable<....Members.Models.MemberBasicData>
 @Html.DropDownListFor(model => model.Mem_Na, (SelectList)ViewBag.Users, "--Select Users--")

我想将Mem_NA添加到dropdownlist,Viewbag包含所有用户详细信息。问题出现在View页面中。 model.Mem_Na中显示错误。请帮我解决这个问题。

3 个答案:

答案 0 :(得分:8)

请更改您的代码

@model IEnumerable<....Members.Models.MemberBasicData>
@Html.DropDownListFor(model => model.Mem_Na, (SelectList)ViewBag.Users, "--Select Users--")

@model ....Members.Models.MemberBasicData
@Html.DropDownListFor(model => model.Id,new SelectList(ViewBag.Users,"Id","Mem_NA"), "--Select Users--")

每次都适合我

答案 1 :(得分:1)

您的模型是IEnumerable的{​​{1}},而不是MemberBasicData的实例。这意味着您无法直接访问MemberBasicData的属性,因为该属性不存在MemberBasicData

从我的代码中我可以看到的很少,我想你希望你的模型是一个实例,而不是一个列表。

答案 2 :(得分:0)

拼写错误?您已在视图中拼写了Mem_Na,在模型中拼写了Mem_NA