我正在创建c3图表,并想更改数据格式。有没有一种方法可以将双花格式转换为
public ActionResult FlugBarSpend()
{
DataModel db = new DataModel();
var test = db.Database.SqlQuery<FlugBarSpendData>("exec sp_FlugBarSpend").ToList();
return Json(test, JsonRequestBehavior.AllowGet);
}
public class FlugBarSpendData
{
public int Month { get; set; }
[DisplayFormat(DataFormatString = "{0:C0}", ApplyFormatInEditMode = true)]
public double Spend { get; set; }
}
答案 0 :(得分:1)
它适用于double
。您如何显示/渲染它?下面的琐碎样本
型号
public class SampleViewModel
{
public string Name {get; set;}
[DisplayFormat(DataFormatString = "{0:C2}", ApplyFormatInEditMode = true)]
public double Price {get; set;}
}
控制器
public class HomeController : Controller
{
[HttpGet]
public ActionResult Index()
{
return View(new SampleViewModel(){Name = "Item 1", Price = 2.99});
}
}
查看
<div>
<!-- In an text input field -->
<p>@Model.Name : @Html.EditorFor(m => m.Price)</p>
<!-- As text -->
<p>@Html.DisplayFor(m => m.Price)</p>
</div>
高度
更新:
正如属性名称所暗示的那样, DisplayFormat ,它指定如何显示和格式化数据字段 (重点是)
您要返回数据(JSON),这取决于客户端正确地显示和格式化。返回的数据不会更改-货币符号使该值成为string
。
如果这是您的意图,则返回数字的string
版本,然后调整model
以返回string
。您可以按自己认为合适的方式对其进行格式化(手动)。恕我直言,这是不可取的(尽管我不知道你的意图是什么,所以再次,这只是我的意见)。