我有一个ViewModel,我想在后期自动绑定到另一个ViewModel。Mvc 3模型自动绑定
例如,如果我有
public class ViewModelA{
public string Stuff {get;set;}
}
public class ViewModelB{
public string MyStuff {get;set;}
.
.
.
}
显示器/渲染目的,我想部分绑定到ViewModelA,因为它是一个简单得多的对象,因此,它会希望是因为创建一个互动的观点更可重复使用的是一个代价沉重的命题。
但是,我需要页之后的所有表格信息。我想我可以扩大控制器的行动,采取ViewModelA和ViewModelB,然后做额外的逻辑,以ViewModelA属性分配到ViewModelB,但是有更清晰,更具说明性的方式来做到这一点?
我想我知道如果我能标记ViewModelA,有一些像这样的属性:
[Bind(Prefix = "ViewModelB", Include = "MyStuff")]
我知道我可以在行动层面做到这一点,但我可以在水平视图模型注入这个逻辑?
如果Razor遵循更多的CQRS方法,这也会很好。例如。
Html.TextBoxFor(target => target.Property, model => model.Property2)
以便在渲染,文本框与Property2值初始化,但在后期,它发布到target.Property。
我认为这将是一种解决问题的方法,但我一般都厌恶类继承和IsA关系。当有3个或更多的ViewModel,我想让他们中的2个去ViewModelB?或者,如果ViewModelA有一些不相关的“显示”属性呢?继承比他们的价值更令人头疼。我喜欢尽可能保持ViewModel POCO和松耦合。 – Alwyn 2012-04-27 17:24:29
反馈类继承?为什么你甚至使用.NET? – cadrell0 2012-04-27 17:39:21
@ cadrell0如何处理需要使用类继承映射到一个ViewModel的2种不同的视图模型?你如何保持目标ViewModel清洁不需要的属性?提示:你不能。 – Alwyn 2012-04-27 18:10:43