为了账号安全,请及时绑定邮箱和手机立即绑定

ASP.NET MVC 谷歌饼图控制器

ASP.NET MVC 谷歌饼图控制器

C#
湖上湖 2022-10-23 15:54:24
我正在寻找一个朋友代码来将谷歌图表实现到我的 mvc 项目中。我有一个模型,我从中提取数据:public partial class HoursPerSite{    public string SiteName { get; set; }    public Nullable<decimal> SiteHours { get; set; }}该图表已呈现并且看起来不错,但图例显示的是 SiteHours 而不是我希望的 SiteName。这是控制器部分:// HOLIDAY PIE STARTViewBag.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我想要它,以便饼图图例/键显示站点而不是时间。
查看完整描述

1 回答

?
森栏

TA贡献1810条经验 获得超5个赞

不确定,但这是:

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

不应该是这样的:(SiteName):

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

另外,如果我可以说,您的命名非常糟糕。这不会让你未来的工作更轻松。尝试更具体地命名您的变量和对象。

编辑:

  • 例如,您可以使用区域而不是代码注释,这将使代码部分/部分的分离/排序/查看更加容易

  • 更好地命名你的变量将使你的生活更轻松,其他人也更容易处理/使用你的代码

我会将您当前的代码更改为:

请注意,我没有任何编辑器,并且可能存在语法错误

#region Holiday Pie Chart


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


var queryHoursPerSites = from r in db.HoursPerSites

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


var resultsQueryHoursPerSites = queryHoursPerSites.ToList(); // or HoursPerSitesCollection


var holidayPieChart = new object[resultsQueryHoursPerSites.Count];

int counter = 0; // 

foreach (var record in resultsQueryHoursPerSites)

{

    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

我相信还有更多需要“改进”或“改变”的地方,但我认为这已经是一种改进。


我相信其他人可以更好地阐述我在这里的建议:)


查看完整回答
反对 回复 2022-10-23
  • 1 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信