我有两个域类,一个是 FlatClass ,另一个是 PGClass 。基于这两个我创建了一个ViewModel。如果用户从UI中选择了平面单选按钮,则会填充 FlatClass ,否则选择 PG单选按钮 PGClass 将填充。在视图中我正在使用 ViewModel 。从性能点视图加载并传递他未在 ViewModel 中选择的其他类的属性是好的,或者我们可以抑制或删除非属性根据条件选择的类? 。我不想创建两个局部视图,如何在单个局部视图中基于动态选择模型来渲染UI?
答案 0 :(得分:0)
虽然最佳做法是使用两个不同的部分视图与模型。但是如果你想用一个局部视图实现它,你可以创建一个继承FlatClass和PGClass的基类。
现在,您可以使用此新ViewModel创建单个局部视图。
public class BaseClass
{
public FlatClass? flat {get; set;}
public PGClass? pg {get; set;}
}
请注意两个对象都是Nullable,因为您一次只能使用其中一个,而其他对象将为NULL。