【问题标题】:ASP.Net Currency format Decimal Ajax post model serialisationASP.Net Currency 格式 Decimal Ajax 后模型序列化
【发布时间】:2018-10-15 07:24:21
【问题描述】:

我存储的是十进制数据类型的货币。

public decimal money { get; set; }

我想用“£”符号显示它。所以我正在使用

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:c}")]

这很好用。该值显示在使用 jQuery 序列化的表中。

@Html.EditorFor(model => model.money, "Currency")

一旦信息被序列化,我就会发布一个 ajax 帖子以将信息返回到我的 ActionResult。

Data = $('#container :input').serialize();

public PartialViewResult EditedValue(MoneyModel viewModel)
{
        return PartialView("_MoneyView", viewModel);
}

此 MoneyModel 对象包含十进制货币。问题,money 在视图中被转换为一个字符串,当它被序列化时,它仍然是一个字符串。这不能在 MoneyModel 中转换为小数。

我应该如何解决这个问题?我想为格式化货币“£1,000”保留“£”和“,”,但我不想在 MoneyModel 中使用十进制货币 -> 字符串货币。

【问题讨论】:

标签: jquery asp.net ajax currency-formatting


【解决方案1】:

只需像这样发送输入值:

$.ajax({
  type: 'POST',
  contentType: "application/json; charset=utf-8",
  url: 'yoururl',
  data: {val: $('#container :input').val()},
  success: function (data) {  
     // do stuff  
  },
});

【讨论】:

  • 我的表格有多个输入字段,所以我认为这行不通。
猜你喜欢
  • 2013-10-01
  • 2013-06-03
  • 2011-05-23
  • 1970-01-01
  • 2023-03-02
  • 2015-07-17
  • 1970-01-01
  • 1970-01-01
  • 2010-11-30
相关资源
最近更新 更多