0

私の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}]

4

2 に答える 2

0

これが役立つかどうかはわかりませんが、データを渡すための私のコードは次のとおりです。@Model.data はリストです。

$(document).ready(function () {
        var data = @Html.Raw(Json.Encode(@Model.data));
        //debugger;
        //alert(data);
        $.jqplot('chartdiv', data);
于 2013-06-18T11:28:23.707 に答える
0

正しいjsonデータをチャートに渡す方法を見つけました。これが私が書いたhtmlヘプラーです:

public static MvcHtmlString GetStrippedJson(this HtmlHelper helper,string json)
        {
            json=json.Replace("\"Date\":", string.Empty);

            json=json.Replace("\"Views\":", string.Empty);

            json=json.Replace('}', ']');

            json=json.Replace('{', '[');

            return MvcHtmlString.Create(json);
        }

しかし、毎日のティックに基づいてティック間隔を設定する方法がわかりません

于 2012-07-15T08:24:47.277 に答える