我正在努力通过JSON发送值和颜色对,颜色值HAS要返回到视图中的javascript color: "#FFFFFF"
,例如,我可以将它发送到这样的视图,但是第二个浏览器读取它变为color: "#FFFFFF"
这不起作用。这是我的代码片段:
values.Add(new StudentBrandsApp.Models.StatsValues() { value = Convert.ToInt32(dr.ItemArray[1].ToString()), color = "#F38630" });
// populate with some values.
var serializer = new JsonSerializer();
var stringWriter = new StringWriter();
var writer = new JsonTextWriter(stringWriter);
writer.QuoteName = false;
serializer.Serialize(writer, values);
writer.Close();
var json = stringWriter.ToString();
json = HttpUtility.HtmlEncode(json);
ViewData["json"] = json;
在我的javascript中:
<script src="~/Scripts/Chart.js"></script>
<script type="text/javascript">
@{string jsonstring = ViewData["json"].ToString();}
var data = @jsonstring;
//Get the context of the canvas element we want to select
var ctx = document.getElementById("myChart").getContext("2d");
var myNewChart = new Chart(ctx).Pie(data);
//Get context with jQuery - using jQuery's .get() method.
var ctx = $("#myChart").get(0).getContext("2d");
//This will get the first returned node in the jQuery collection.
var myNewChart = new Chart(ctx);
new Chart(ctx).Pie(data, options);
</script>
这是关于如何为饼图表示值和颜色的chart.js文档:http://www.chartjs.org/docs/
答案 0 :(得分:3)
您需要编写@Html.Raw(jsonString)
以防止Razor自动转义它。