2016-09-20 8 views
0

Так я использую Telerik реализовать схему, используя следующий кодКак получить значения из запроса JSON?

@(Html.Kendo().Chart<OCM.Model.Dashboard>() 
 
         .Name("chart") 
 
         .Title(title => title 
 
           .Text("Customer Satisfaction") 
 
             .Position(ChartTitlePosition.Bottom)) 
 
           .Legend(legend => legend 
 
           .Visible(false) 
 
         ) 
 
         .ChartArea(chart => chart 
 
          .Background("transparent") 
 
         ) 
 
         .HtmlAttributes(new { style = "background: center no-repeat url(" + @Url.Content("~/Content/shared/world-map.png") }) 
 
         .Series(series => 
 
         { 
 
          series.Pie(new dynamic[] { 
 
           new {category="Happy",color="#9de219"}, 
 
           new {category="Unhappy",color="#90cc38"}, 
 
           new {category="Normal",color="#068c35"} 
 
          }) 
 
          .Labels(labels => labels 
 
           .Template("#= category #: \n #= value#%") 
 
           .Background("transparent") 
 
           .Visible(true) 
 
          ) 
 
          .StartAngle(150); 
 
         }) 
 
         .DataSource(ds => 
 
         { 
 
          ds.Read(read => read.Action("GetSatisfaction", "Dashboards")); 
 
         }) 
 
         .Tooltip(tooltip => tooltip 
 
          .Visible(true) 
 
          .Format("{0}%") 
 
         ) 
 
        )

И я использую запрос JSON, чтобы получить значения обратно из базы данных с помощью контроллера.

public ActionResult GetSatisfaction([DataSourceRequest] DataSourceRequest request) 
    { 
     return Json(Data().ToDataSourceResult(request)); 

    } 

    private List<DashboardViewModel> Data() 
    { 
     var details = new List<DashboardViewModel>(); 

     List<Dashboard> social = BALDashboard.GetSocialMediaDashboard(); 

     Mapper.CreateMap<Dashboard, DashboardViewModel>(); 

     return Mapper.Map<List<DashboardViewModel>>(social); 


    } 

Теперь запрос JSON работает, и я могу получить значения из базы данных. Моя проблема в том, что я хочу передать эти значения на диаграмму для Happy, Unhappy и Normal, чтобы отображались значения круговой диаграммы, но поскольку я думаю, что JSON передает ее в виде массива, она не работает.

Может ли кто-нибудь помочь мне?

+0

Обратите внимание, что тег модель-представление-контроллер для вопросов о шаблоне. Существует определенный тег для реализации ASP.NET-MVC. –

ответ

0

Так я решен вопрос с помощью ViewBag и слом запрос JSON

 ViewBag.Happy = 2; 
     ViewBag.UnHappy = 2; 
     ViewBag.Normal = 2; 
     List<Dashboard> social = BALDashboard.GetSocialMediaDashboard(); 

     Mapper.CreateMap<Dashboard, DashboardViewModel>(); 

     //if(social == null) 
     // social = new Dashboard(); 

     ViewData["social"] = social; 

     ViewBag.Happy = social[0].Happy ; 
     ViewBag.UnHappy = social[0].UnHappy; 
     ViewBag.Normal = social[0].Normal; 
     return View(); 
Смежные вопросы