2011-05-13 64 views
2

我今天要求的第2步是创建带有能够处理类 - 子类对象的Razor视图的ASP.NET MVC 3。所以我想要一个基于DropDownList(男人/女人)选择的可以处理Person - > Woman或Person - > Man的表单/页面。查看类/子类对象

使用EF 4.1 Code First将东西存储在数据库中。哪些工作正常。因为当我存储一个女人,并且我用context.Person.Where(p => p.Id == 1)检索时,它得到了一个女人对象。

我的问题是,我不知道如何在视图中使用模型。人物将是最明显的,但那么我将如何能够显示/访问/存储的女人/人。而在创建的情况下,类型在手之前是不知道的(服务器端)。用户可以选择一个女人/男人,并希望填写女人或男人的特定属性。

有关型号,请参见this question

+0

我看到两种方法: 1)您提供的HTML页面**不**下载其他属性,并且 2)您将通过来自HTML页面的AJAX请求下载其他属性。 在案例1中,您需要一个特殊类型的模型,它是“男人”和“女人”属性的超集。 在情况2中,您需要为'初始'视图创建单独的模型(模型将成为'Person'),并且对于那些载入AJAX的属性(模型将会是'Man'和'Woman')。 – Zruty 2011-05-13 12:47:54

回答

0

一种方法是为男人和女人创建单独的局部视图,然后将两个视图加载到页面上的div中。然后使用jquery在下拉列表选择更改后隐藏/显示div。