2012-07-15 210 views
0

在我的asp.net mvc 3.0应用程序中,我将绘制一个图表,其X轴包含日期值,y轴包含每天的视图。对于图表绘制,我使用jqplot date-axes,我将它传递给json结果。这里是模型:jqplot和使用asp.net mvc模型呈现

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 [email protected](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“,”Views“:3},{”Date“:”2012-07-15 12:10“,”Views“:3}]

回答

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); 
     } 

,但我不知道如何设置打勾根据每日间VAL蜱

0

不知道这是否会有所帮助,但我对传递数据的代码是下面。 @ Model.data是一个列表。

$(document).ready(function() { 
     var data = @Html.Raw(Json.Encode(@Model.data)); 
     //debugger; 
     //alert(data); 
     $.jqplot('chartdiv', data);