クライアントにデータを送信するときに、 DataContractJsonSerializerを使用してモデル データの JsonResult を作成します。私のモデルはデータ テーブルに表示されるデータを表しており、JSON のみでモデルのプロパティの名前を変更して、データ テーブルの各行の詳細なプロパティ名が送信されないようにしたいと考えていました。今、データ テーブルのセル値を JSON 経由でサーバーのコントローラー アクション メソッドに送信しようとしています。送り返されるフィールドの名前はまだ短い名前であり、モデル バインディングはそれを好まないようです。モデル バインディングを機能させ、JSON を介して代替プロパティ名を送信する機能を保持するにはどうすればよいですか?
モデル:
[DataContract()]
public class UsageListModel {
[DataMember(Name = "results")]
public IEnumerable<UsageModel> Usages { get; set; }
}
[DataContract()]
public class UsageModel {
[DataMember(Name = "job")]
public string JobId { get; set; }
[DataMember(Name = "dt")]
public DateTime UsageDate { get; set; }
[DataMember(Name = "qty")]
public int Quantity { get; set; }
[DataMember(Name = "uom")]
public string UnitOfMeasure { get; set; }
[DataMember(Name = "nts")]
public string Notes { get; set; }
}