1

在下面的班级

using System;

namespace Beverati.Repository.ViewModel
{

[Serializable]
public class CollectionItem : EditableEntityBase
{

public CollectionItem() {}

private int? _quantity;
private string _retailValue;
private string _currencyName;

public int? quantity
{
  get { return this._quantity ?? NULL_INTEGER; }
  set { this._quantity = value; }
}

public string retailValue
{
  get { return this._retailValue ?? String.Empty; }
  set { this._retailValue = value; }
}

public string currencyName
{
  get { return this._currencyName ?? String.Empty; }
  set { this._currencyName = value; }
}

}
}

在此控制器操作中返回

public IEnumerable<Repository.ViewModel.CollectionItem> GetAll()

使用 MVC2 生成此 JSON 输出 JSON 输出如下

{
  quantity:2
  retailValue: 50.00
  currencyName: USD
}

但是,当我安装 MVC4 时,返回的 JSON 看起来像这样

{
  _quantity:2
  _retailValue: 50.00
  _currencyName: USD
}

所有属性名称都有一个下划线前缀。为什么要使用下划线以及如何在 JSON 中返回公共属性名称?

4

1 回答 1

2

[Serializable] 属性是做什么的-假设您不需要它用于其他目的-删除该属性,一切都应该很好。

于 2012-12-27T23:02:39.603 回答