我创建了一个包含其他复杂类对象的类。
所以例如
class A {
public int ID { set; get; }
public string MyObjectName {set; get; }
public B ObjectOfTypeB { set; get; }
}
class B {
public int ID { set; get; }
public int CategoryNumber { set; get; }
public string CategoryDescription { set; get; }
}
现在我有一个创建 A 类型对象的控制器方法。我为创建模型(A 类)搭建了一个视图。但是因为 A 拥有一个复杂类型,它不知道如何为 B 类型创建输入字段。
在我的创建功能
// helper method to get a list of the possible B objects -
// this method will eventually query a database. for now just static objects
private List<Category> getBobjects()
{
List<B> bs = new List<B>();
bs.Add(new B() { ID = 1, CategoryNumber = 2, CategoryDescription = "Config 1" });
bs.Add(new B() { ID = 2, CategoryNumber = 3, CategoryDescription = "Config 2" });
return bs;
}
[HttpGet]
public ActionResult Create()
{
// Adding to the view bags the categories to display
ViewBag.bs = getBobjects();
return View();
}
在视图中
@Html.DropDownListFor(model => model.ObjectOfTypeB,
new SelectList(ViewBag.bs, "ID", "CategoryDescription"))
我假设在提交表单时,来自 ObjectOfTypeB 的数据将绑定到类型 A 的回发对象。但这并没有发生。
谁能解释我如何将特定字段的可能值列表传递给视图并让回发将值绑定到返回的对象上?
[错误打印屏幕][1]