【问题标题】:Dropdownlist using viewbag data in mvc4 using c#使用 c# 在 mvc4 中使用 viewbag 数据的下拉列表
【发布时间】:2013-08-28 13:45:04
【问题描述】:

您好,我想在我的查看页面中填写一个下拉列表,我的代码是

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

【问题讨论】:

  • 错误是什么?
  • @No One: 可以包含 Mem_NA 的定义

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    请更改您的代码

    来自

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

    它每次都对我有用

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多