C# 在简单情况下使用DropDownListFor时出现问题(MVC2.0)

C# 在简单情况下使用DropDownListFor时出现问题(MVC2.0),c#,asp.net-mvc-2,C#,Asp.net Mvc 2,我有一门课: public Class Color { public virtual int Id { get; set; } public virtual string Name { get; set; } } 我的控制器: public ActionResult Index() { var _colors = colorRepository.GetAll(); return View(_colors); } 因此,我有一个IEnumerable强类型视图:

我有一门课:

public Class Color
{
    public virtual int Id { get; set; }
    public virtual string Name { get; set; }
}
我的控制器:

public ActionResult Index()
{
    var _colors = colorRepository.GetAll();
    return View(_colors);
}
因此,我有一个IEnumerable强类型视图:

Inherits="System.Web.Mvc.ViewPage<IEnumerable<Color>>
Inherits=“System.Web.Mvc.ViewPage
如何使用DropDownListFor显示所有颜色


谢谢

您不需要为下载下拉列表。 只要使用DropDownList,如果你的模型和你描述的一样

<% = Html.DropDownList("Colors", new SelectList(Model, "Id", "Name")) %>
新颜色类别:

public class Color : IDropdownList
{
    public virtual int Id { get; set; }
    public virtual string Text { get; set; }
}
在视图中,您可以编写:

<% = Html.DropDownList("Colors", Model.ToSelectList())%>

您不需要DropDownList for。 只要使用DropDownList,如果你的模型和你描述的一样

<% = Html.DropDownList("Colors", new SelectList(Model, "Id", "Name")) %>
新颜色类别:

public class Color : IDropdownList
{
    public virtual int Id { get; set; }
    public virtual string Text { get; set; }
}
在视图中,您可以编写:

<% = Html.DropDownList("Colors", Model.ToSelectList())%>

DropDownList for是一个HtmlHelper,用于为给定类属性创建输入字段(选择类型)

假设您有一个“Car”对象:

您需要创建一个表单来编辑此类类。 在这种情况下,您将创建一个包含汽车对象和颜色列表的viewModel

class CarViewModel{
  public Car Car{ get; set; }
  public SelectList Colors { get; set; }
}
在控制器中,创建CarViewModel的实例并用值填充它

public ActionResult Index()
{
    var viewModel = new CarViewModel();
    viewModel.Colors = new SelectList(colorRepository.GetAll(),"Id","Name");
    viewModel.Car = new Car();
    return View(viewModel);
}
然后将viewModel传递给viewModel上的wiew强类型,并在该视图中使用DropDownList for帮助器

<% = Html.DropDownListFor(o=>o.ColorId, Model.Colors) %>
o.ColorId,Model.Colors)%%>

DropDownList for
是一个HtmlHelper,用于为给定类属性创建输入字段(选择类型)

假设您有一个“Car”对象:

您需要创建一个表单来编辑此类类。 在这种情况下,您将创建一个包含汽车对象和颜色列表的viewModel

class CarViewModel{
  public Car Car{ get; set; }
  public SelectList Colors { get; set; }
}
在控制器中,创建CarViewModel的实例并用值填充它

public ActionResult Index()
{
    var viewModel = new CarViewModel();
    viewModel.Colors = new SelectList(colorRepository.GetAll(),"Id","Name");
    viewModel.Car = new Car();
    return View(viewModel);
}
然后将viewModel传递给viewModel上的wiew强类型,并在该视图中使用DropDownList for帮助器

<% = Html.DropDownListFor(o=>o.ColorId, Model.Colors) %>
o.ColorId,Model.Colors)%%>