C#Modelbinding自定义对象

时间:2015-04-06 16:55:18

标签: c# model-binding

我有一个基于枚举集合在物理单位之间转换的类。在代码中,您可以在枚举上切换工程单位,对象将根据内部(SI)单位计算工程值。

现在我已经为MVC创建了一个editortemplate来输入一个值及其工程单位。

我现在的问题在于,ModelBinder以错误的方式分配属性,应该在值之前分配单位,否则内部值计算错误。一旦分配了工程值,就会计算内部值。

我可以创建一个自定义模型绑定器,以正确的顺序分配属性,但是有时在同一个视图页面上多次使用相同的editortemplate,我将如何在客户模型绑定器中处理它?<​​/ p>

CNC中 我也可以为每个“智能”对象制作视图模型,并在控制器中进行翻译,但不确定这是否合适,这意味着我必须为每个物理单元创建虚拟对象,但显然会正确地分离我的视图。我的框架/逻辑

最诚挚的问候, 马丁

1 个答案:

答案 0 :(得分:0)

这是一个设计问题。

我建议使用一个单独的视图模型,它不依赖于按特定顺序分配值,然后将值映射到控制器上的类。预控制器逻辑(动作过滤器和模型绑定器)走出基于控制器的工作流程,这是一个不应轻易做出的决定。