我有一个观点,那就是从System.Web.Mvc.ViewPage<P>
继承。MVC不同实体的下拉列表
P型有C
类型,即属性,P
可能是:
class P
{
public string Name { get; set; }
public C OtherData { get; set; }
}
有问题的视图是用于创建新P
,因此我想创建的所有下拉列表可用C
's。
所以下拉可能是:
- C1
- C2
- C3
- C4
我试过在C
的创建List<SelectListItem>
对象我控制器,然后使用ViewData
将它们传递给视图,但这不起作用,因为当我尝试su bmit我得到异常:
System.InvalidOperationException: There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key C.
所以我的问题是,如何创建C
对象的列表在我看来,从P
类型继承来显示。对象列表是从数据库中提取的,因此我不能直接将选项硬编码到视图中。
我是否需要创建另一个将两种类型结合在一起的模型类型?
谢谢摩根,我在哪里添加这个元数据类?以前从未见过! – AndrewC 2011-02-03 20:45:17