c# - 从 Controller 发送颜色十六进制到 View 而不带引号变成“?

标签 c# javascript json html asp.net-mvc-4

我正在努力使用 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/

相关文章:

javascript - 我在 React 应用程序中使用了 axios,但无法从提供的链接获取用户数据

java - 使用 JSON 对象作为负载向 REST API 发出 POST 请求

javascript - 访问 Node 的 Express bodyParser() 解析的 JSON 字符串

jquery - 在每个循环中使用 jQuery 属性从选择器开始

c# - 为什么 'BitConverter.GetBytes()' 接受类型为 'byte' 的参数并始终返回一个 2 字节数组?

javascript - 通过 jquery 将 param 设置为 ng-click 的元素

c# - ASP.NET : Testing Concurrency

javascript - 如何将 JSON 字符串分配给 Javascript 变量?

c# - 如何解决这个奇怪的多循环场景(Java 或 C#)?

c# - 关于 C# 表达式树的建议