数据绑定到DropDownList的MVC剃刀(Binding Data To DropDownLi

2019-07-30 03:22发布

我刚开始使用MVC和剃刀我的项目。 现在,当涉及到结合数据从数据库来一个下拉列表,我遇到了一个问题。 请下面我的代码是指:

特殊化模型:

public class SpecializationModel
{
    [Display(Name = "SpecializationID")]
    public string SpecializationID { get; set; }

    [Display(Name = "SpecializationDescription")]
    public string SpecializationDescription { get; set; }

    public IEnumerable<SelectListItem> Items { get; set; }
    public int SelectedSpecializationID { get; set; }
}

控制器:

public ActionResult Physicians()
{
    SpecializationManager spec = new SpecializationManager();
    List<Specialization> SpecializationList = spec.GetAllSpecialization();

    var obj = new SpecializationModel();

    obj.Items = new[]
    {
        foreach(var x in SpecializationList)
        {
            new SelectListItem { Value = x.SpecializationID.ToString(), Text = x.SpecializationDescription };
        }
    };

    return View(obj);
}

我有这个管理器,它包含了我的LINQ查询从数据库中提取数据。 我遇到控制器上的问题。 其中,在错误点foreach语法说Invalid expression term foreach

任何人都可以请点我正确的方向? 非常感谢!

编辑:

我现在有这样的代码,而在部分的foreach(感谢下面,我与我有什么上述合并后)错误。 不过,我似乎无法作出最后一行的工作。 它会产生关于隐式转换的错误:

var items = new List<SelectListItem>();
foreach (var x in SpecializationList)
{
    items.Add(new SelectListItem { Value = x.SpecializationID.ToString(), Text = x.SpecializationDescription });
}

obj.Items = items.ToList();

请你帮帮我。 谢谢 :)

Answer 1:

yopu不能把在构造一个foreach,请尝试:

var items = new List<SelectListItem >();
foreach(var x in SpecializationList)
{
           items.add(new SelectListItem { Value = x.SpecializationID.ToString(), Text = x.SpecializationDescription });
}

obj.Items = items;

编辑



文章来源: Binding Data To DropDownList MVC Razor