首页 > 解决方案 > 在 http.get 请求后在客户端呈现时,字典键大小写转换为小写

问题描述

我在一个类中有一个字典对象。我将使用 http.get 请求在客户端呈现这个类。

prt = $http.get(baseUrl() + "api/flight/" + id)
      .success(function (data, status, headers, config) {
          $rootScope.flight = data;                      
          return data;
      })
      .error(function (data, status, headers, config) {
          return data;
      });

名为fuelRate 的字典定义如下

private static Dictionary<string, decimal> _fuelRates;
public static Dictionary<string, decimal> fuelRates
{
    get
    {
        if (_fuelRates == null)
        {
            using (flightDBEntities flightDBEntities = new flightDBEntities(ConnectionStringManager.SQLConnection))
            {
                var convRate = flightDBEntities.fuelRates.Select(x => new { x.UnitName, x.UnitRate }).ToList();
                _fuelRates = convRate == null ? new Dictionary<string, decimal>(StringComparer.InvariantCultureIgnoreCase) : convRate.ToDictionary(cr => cr.UnitName, cr => cr.UnitRate ?? 1, StringComparer.InvariantCultureIgnoreCase);
            }
        }

        return _fuelRates;
    }
    set
    {
        _fuelRates = value;
    }
}

从数据库中检索数据,数据如下:

UnitName   unitRate
Cent       100
Ton    1000
Gallon     10000

这里的 case 单元名称以大写字母开头。但是一旦在客户端呈现,大小写将转换为全小写,单位名称将如下所示

UnitName   unitRate
cent       100
ton    1000
gallon     10000

有没有办法可以限制这种情况的发生。

标签: javascriptc#serializationhttp-get

解决方案


推荐阅读