私のasp.net mvc 3.0アプリでは、X軸に日付値が含まれ、Y軸に1日あたりのビューが含まれるグラフを描画します。グラフの描画にはjqplot date-axesを使用し、json の結果を渡しています。ここにモデルがあります:
public class MyDateModel
{
public string Date { get; set; }
public int Views { get; set; }
}
そしてここにアクションがあります:
public ActionResult Index()
{
var res = new List<MyDateModel>();
res.Add(new MyDateModel { Date=DateTime.Now.AddDays(-9).ToString("yyyy-MM-dd hh:mm"),Views=10});
res.Add(new MyDateModel { Date = DateTime.Now.AddDays(-3).ToString("yyyy-MM-dd hh:mm"), Views = 3 });
res.Add(new MyDateModel { Date = DateTime.Now.ToString("yyyy-MM-dd hh:mm"), Views = 3 });
return View(res);
}
そして最後にビュー:
@model IEnumerable<Chartjquery_jqplot.Models.MyDateModel>
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
<link href="../../Content/jquery.jqplot.min.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.jqplot.min.js" type="text/javascript"></script>
<script src="../../Scripts/jqplot.dateAxisRenderer.min.js" type="text/javascript"></script>
<script src="../../Scripts/jqplot.json2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var jsonurl=@Html.Raw(Json.Encode(Model));
var plot2 = $.jqplot('chart2', jsonurl, {
title: "AJAX JSON Data Renderer",
axes:{xaxis:{renderer:$.jqplot.DateAxisRenderer}}
});
});
</script>
</head>
<body>
<div>
@Html.Raw(Json.Encode(Model))
<div id="chart2" style="height: 300px; width: 500px;">
</div>
</div>
</body>
</html>
しかし、ページには何も描画されません。
助けてください。
jsonの結果は次のとおりです。
[{"日付":"2012-07-06 12:10","ビュー":10},{"日付":"2012-07-12 12:10","ビュー":3},{"日付":"2012-07-15 12:10","ビュー":3}]