根据Asp.net mvc中的模型动态渲染视图

时间:2015-06-25 09:43:06

标签: c# jquery asp.net-mvc asp.net-mvc-4

我有两个域类,一个是 FlatClass ,另一个是 PGClass 。基于这两个我创建了一个ViewModel。如果用户从UI中选择了平面单选按钮,则会填充 FlatClass ,否则选择 PG单选按钮 PGClass 将填充。在视图中我正在使用 ViewModel 。从性能点视图加载并传递他未在 ViewModel 中选择的其他类的属性是好的,或者我们可以抑制或删除非属性根据条件选择的类? 。我不想创建两个局部视图,如何在单个局部视图中基于动态选择模型来渲染UI?

1 个答案:

答案 0 :(得分:0)

虽然最佳做法是使用两个不同的部分视图与模型。但是如果你想用一个局部视图实现它,你可以创建一个继承FlatClass和PGClass的基类。

现在,您可以使用此新ViewModel创建单个局部视图。

public class BaseClass
{
   public FlatClass? flat {get; set;}
   public PGClass? pg {get; set;}
}

请注意两个对象都是Nullable,因为您一次只能使用其中一个,而其他对象将为NULL。