Javascript 谷歌图表不显示
请确定为什么这些图表没有显示。此代码正在与另一个项目一起使用。我在一个新项目中使用了相同的代码,我只添加了母版页,但是现在没有显示图表 我只能看到一个空白的背景 HTMLJavascript 谷歌图表不显示,javascript,c#,html,asp.net,google-visualization,Javascript,C#,Html,Asp.net,Google Visualization,请确定为什么这些图表没有显示。此代码正在与另一个项目一起使用。我在一个新项目中使用了相同的代码,我只添加了母版页,但是现在没有显示图表 我只能看到一个空白的背景 HTML load(“可视化”、“1”、{packages:[“corechart”]}); load('visualization','1',{packages:['table']}); load('visualization','1.0',{'packages':['controls']}); setOnLoadCallback(
load(“可视化”、“1”、{packages:[“corechart”]});
load('visualization','1',{packages:['table']});
load('visualization','1.0',{'packages':['controls']});
setOnLoadCallback(drawChart);
函数绘图图(){
var dataValues=JSON.parse(document.getElementById(“ChartData”).value);
var data=new google.visualization.DataTable();
data.addColumn('string','Locality');
data.addColumn('number','Frequency');
对于(var i=0;i
代码隐藏
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Script.Serialization;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
//This is a method for testing, it is called from the button and then calls a method from the Utility class.
public List<Items> getChartData()
{
List<Items> dataList = new List<Items>();
dataList.Add(new Items("A", 110));
dataList.Add(new Items("B", 120));
dataList.Add(new Items("C", 30));
dataList.Add(new Items("D", 150));
dataList.Add(new Items("E", 210));
dataList.Add(new Items("F", 310));
JavaScriptSerializer jss = new JavaScriptSerializer();
this.ChartData.Value = jss.Serialize(dataList);
return dataList;
}
protected void Button1_Click(object sender, EventArgs e)
{
getChartData();
}
}
public class Items
{
public string location = "";
public int frequency = 0;
public Items(string location, int frequency)
{
this.location = location;
this.frequency = frequency;
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
使用System.Web.Script.Serialization;
公共部分类\u默认值:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
}
//这是一个用于测试的方法,它从按钮调用,然后从实用程序类调用一个方法。
公共列表getChartData()
{
List dataList=新列表();
添加(新项目(“A”,110));
添加(新项目(“B”,120));
添加(新项目(“C”,30));
添加(新项目(“D”,150));
增加(新项目(“E”,210));
添加(新项目(“F”,310));
JavaScriptSerializer jss=新的JavaScriptSerializer();
this.ChartData.Value=jss.Serialize(dataList);
返回数据列表;
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
getChartData();
}
}
公共类项目
{
公共字符串位置=”;
公共整数频率=0;
公共项目(字符串位置、整数频率)
{
这个位置=位置;
这个频率=频率;
}
}
非常感谢您提供示例帮助。尝试在客户端查看源代码。Asp.net在id前面加上了Asp.net容器的名称,所以当您在客户端运行时,JSON.Parse(以及其他可能的字段)不一定具有您认为的id 查看详细说明。您可能需要更改如下内容:
<asp:HiddenField runat="server" ID="ChartData" ClientIDMode="Predictable" />
我不确定这是否是您的问题,但在web浏览器中执行一个简单的“查看源代码”并检查html元素的ID应该可以告诉您这是否是问题。基于ASP.Net过去的问题,我以前的回答是我的第一直觉。进一步查看代码后,我认为您可能误用了仪表板
- 确保所有未绑定到控件的图表位于仪表板的div之外,但图表控件和图表的div位于仪表板内部
- 如果使用仪表板将图表绑定到控件,则应而不是调用该图表的
。仪表板将为您处理该图表的绘制chart.draw()
- 您可能需要将仪表板绑定的图表声明为
,而不是google.visualization.ChartWrapper
,但我不确定这一点google.visualization.PieChart
有关如何使用仪表板设置图表和控件的详细信息,请参阅。是否尝试过任何调试?是,但没有给出错误。我不知道为什么会这样
<asp:HiddenField runat="server" ID="ChartData" ClientIDMode="Predictable" />