ASP.NET MVC 谷歌饼图控制器

我正在寻找一个朋友代码来将谷歌图表实现到我的 mvc 项目中。


我有一个模型,我从中提取数据:


public partial class HoursPerSite

{

    public string SiteName { get; set; }

    public Nullable<decimal> SiteHours { get; set; }

}

该图表已呈现并且看起来不错,但图例显示的是 SiteHours 而不是我希望的 SiteName。


这是控制器部分:


// HOLIDAY PIE START

ViewBag.msg = db.HoursPerSites.Count().ToString();


var query = from r in db.HoursPerSites

            select new { Count = r.SiteHours, Value = r.SiteHours };


var result2 = query.ToList();


var datachart2 = new object[result2.Count];

int l = 0;

foreach (var i in result2)

{

    datachart2[l] = new object[] { i.Value.ToString(), i.Count };

    l++;

}

string datastr2 = JsonConvert.SerializeObject(datachart2, Formatting.None);

ViewBag.dataj2 = new HtmlString(datastr2);


// HOLIDAY PIE END

我想要它,以便饼图图例/键显示站点而不是时间。


湖上湖
浏览 88回答 1
1回答

森栏

不确定,但这是:select&nbsp;new&nbsp;{&nbsp;Count&nbsp;=&nbsp;r.SiteHours,&nbsp;Value&nbsp;=&nbsp;r.SiteHours&nbsp;};不应该是这样的:(SiteName):select&nbsp;new&nbsp;{&nbsp;Count&nbsp;=&nbsp;r.SiteHours,&nbsp;Value&nbsp;=&nbsp;r.SiteName&nbsp;};另外,如果我可以说,您的命名非常糟糕。这不会让你未来的工作更轻松。尝试更具体地命名您的变量和对象。编辑:例如,您可以使用区域而不是代码注释,这将使代码部分/部分的分离/排序/查看更加容易更好地命名你的变量将使你的生活更轻松,其他人也更容易处理/使用你的代码我会将您当前的代码更改为:请注意,我没有任何编辑器,并且可能存在语法错误#region Holiday Pie ChartViewBag.msg = db.HoursPerSites.Count().ToString();var queryHoursPerSites = from r in db.HoursPerSites&nbsp; &nbsp; &nbsp; &nbsp; select new { Count = r.SiteHours, Value = r.SiteHours };var resultsQueryHoursPerSites = queryHoursPerSites.ToList(); // or HoursPerSitesCollectionvar holidayPieChart = new object[resultsQueryHoursPerSites.Count];int counter = 0; //&nbsp;foreach (var record in resultsQueryHoursPerSites){&nbsp; &nbsp; holidayPieChart[counter] = new object[] { record.Value.ToString(), record.Count };counter++;}string deserialisedResults = JsonConvert.SerializeObject(holidayPieChart, Formatting.None);// no idea what dataj2 is here ...ViewBag.dataj2 = new HtmlString(deserialisedResults);#endregion我相信还有更多需要“改进”或“改变”的地方,但我认为这已经是一种改进。我相信其他人可以更好地阐述我在这里的建议:)
打开App,查看更多内容
随时随地看视频慕课网APP