0

我尝试按照这里的一些示例和其他一些资源来在我的视图模型中创建一个非常简单的成员,并使用 dropdownlistfor() 帮助器在我的视图中将其显示为下拉列表。我似乎无法绕过它,而且它不适用于我正在尝试的东西。

这是我的视图模型:

public class Car
{
    public int CarId { get; set; }
    public string Name { get; set; }
}

public class MyViewModel
{


    public IEnumerable<Car> Cars = new List<Car> { 
        new Car {
            CarId = 1,
            Name = "Volvo"
        },
        new Car {
            CarId = 2,
            Name = "Subaru"
        }
    };


    public int MyCarId { get; set; }
}

这是我的观点:

@Html.DropDownListFor(m => m.MyCarId, new SelectList(Model.Cars, "CarId", "Name"))

这是我的控制器:

public ActionResult MyView()
        {
            return View();
        }
4

2 回答 2

1

您需要确保将模型发送到您的视图:

public ActionResult Index()
{
    var myViewModel = new MyViewModel()

    return View(myViewModel);
}

在您的视图中,您需要确保定义您的模型:

@model namespace.MyViewModel
于 2012-09-18T20:25:48.970 回答
1

您的示例工作正常,我认为您忘记在 POST 操作中发送 MyViewModel 。

[HttpPost]
public ActionResult Index(MyViewModel model)
{
    return View(model);
}
于 2012-09-18T20:17:08.107 回答