映射“复杂”ViewModel

时间:2012-03-09 17:04:05

标签: asp.net asp.net-mvc-3 ef-code-first poco

我认为这是一个非常简单的问题。我想知道我是否犯了一个巨大的错误,因为我认为这很明显,但它不起作用。

我正在尝试显示一个使用专门创建的viewmodel的视图。我们假设我们正在谈论:

public Order ActualOrder {get;set;}
public OtherType OtherVariable {get;set;}
public OtherType OtherVariable {get;set;}

订单是一个复杂的类型,它包含一些字段,如:

[Required]
public int OrderId {get;set;}

[Required]
public string ClientName {get;set;}

[Required]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime DateAndTime {get;set}

我在视图中映射为:

@Html.EditorFor(p => p.Order.OrderId)
@Html.EditorFor(p => p.Order.ClientName)
@Html.EditorFor(p => p.Order.DateTime)

在这种沟通方式中,一切都很完美。但是,当我尝试在Action中读取viewModel时,未设置变量,例如,DateTimes设置为01/01/0001(这是错误的)但客户端名称已正确设置。

Viewmodel和Order具有默认构造函数。另外,如果我看到HTML生成的'name'属性似乎正确设置。

我无法看到可能损害映射的交互。

非常感谢:)

重要

我注意到问题来自Jquery DataPicker组件。但是,我正在使用Firebug而我看不到'name'或'id'的变化。为什么框架无法绑定模型?

0 个答案:

没有答案