未标记为“[DataMember(IsRequired = true)]”的属性不通过JSON发送

时间:2013-03-14 23:23:20

标签: jquery asp.net-mvc json web-applications asp.net-web-api

这是我的代码:

[DataContract]
public class SideDto
{
    public SideDto() { }

    public SideDto(Side side)
    {
        SideId = side.SideId;
        Stage = side.Stage;
    }

    [Key]
    [DataMember(IsRequired = true)]
    public int SideId { get; set; }

    public Stage Stage { get; set; }

}

当我打电话给我时,我得到SideId,但我没有得到舞台。如果我将Stage标记为IsRequired,我会得到它,但是当我发布一个没有定义Stage的新Side时(因为我实际上并不需要它用于数据模型,只是表示层),我得到一个错误。知道如何在没有这种严格验证的情况下在电线上获得这些属性吗?

1 个答案:

答案 0 :(得分:1)

你只需要使用DataMember属性装饰'Stage'属性,不用 IsRequired。