我正在努力使用 JSON 发送值和颜色对,例如颜色值必须以 color: "#FFFFFF"
返回到 View 中的 javascript,我可以像这样将其发送到 View ,但是当浏览器读取它时,它会变成 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/
最佳答案
您需要编写@Html.Raw(jsonString)
以防止Razor自动转义它。
关于c# - 从 Controller 发送颜色十六进制到 View 而不带引号变成“?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22306342/