使用c#在mvc4中使用viewbag数据的Dropdownlist

本文关键字:viewbag 数据 Dropdownlist mvc4 使用 | 更新日期: 2023-09-27 18:29:09

嗨,我想在我的视图页面中填写一个下拉列表,我的代码是

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_NAME添加到下拉列表中,Viewbag包含所有用户详细信息。问题出现在"查看"页面中。模型中显示错误。Mem_Na。请帮我解决这个问题。

使用c#在mvc4中使用viewbag数据的Dropdownlist

请更改您的代码

来自

@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--")

每当

时,它都对我有效

您的模型是MemberBasicDataIEnumerable,而不是MemberBasicData的实例。这意味着您不能直接访问MemberBasicData的属性,因为IEnumerable不存在该属性。

根据我从代码中看到的一点,我想你希望你的模型是一个实例,而不是一个列表。

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