0

我有一个这样的模型类:

class Person {
   string FirstName, 
   string LastName,
   string ID
}

当我通过 GET 将模型发送到浏览器时,我通过匿名类型将数据作为两个字段的组合(例如 FirstName.ToString() + LastName.ToString())发送。

当我对服务器进行 POST 时,问题就来了。由于返回的 JSON 与模型不同,因此通过 ModelState.IsValid() 返回无效,因为我的操作方法需要一个List<Person> persons.

我真的不想创建一个 ModelViewModel 重复代码,因为一个字段导致模型无效。有没有解决的办法?

4

1 回答 1

0

在这种情况下,我会将 DataAnnotations 添加到 ViewModel 类并更改 Action 以接受 ViewModel 而不是 Model。

一旦您验证传递给 Action 的 ViewModel 是有效的,您就可以将复合字段正确解析为 First 和 Last 名称。

于 2011-02-04T14:33:17.730 回答