【问题标题】:How to post a decimal property to Web API 2?如何将十进制属性发布到 Web API 2?
【发布时间】:2015-10-17 18:25:58
【问题描述】:

我将一个 JSON 对象发布到 web api 2(使用 Angular),如下所示:

var request = $http({
    method: "POST",
    url: "http://localhost:52389/odata/Venues",
    data: {Address: "my address", Latitude: 72.17}
});

这将被发布到 web api 操作:

public IHttpActionResult Post(Venue venue)

Venue 具有以下属性:

 public class Venue
    {
        [Key]
        public int VenueId { get; set; }

        [DataMember]        
        public string Address { get; set; }

        [DataMember]
        public decimal? Latitude { get; set; }
    }

如果我从要发布的 JSON 对象中删除 Latitude,则此方法有效,但对于 Latitude 对象,api 操作中的场所参数变为 null。我如何最好地处理这种decimal? 类型?

【问题讨论】:

    标签: json angularjs asp.net-web-api2


    【解决方案1】:

    设法通过将小数放在引号中来实现这一点:

    var request = $http({
        method: "POST",
        url: "http://localhost:52389/odata/Venues",
        data: {Address: "my address", Latitude: "72.17"}
    });
    

    或者,如果你有一个角数,latNum,那么latNum.toString() 将起作用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多