如何在javascript中从网页cshtml中读取数组?

时间:2018-10-25 13:21:42

标签: asp.net web

我正在构建一个Asp.Net应用程序。我有这个文件

TimeDomain.cshtml中,我想显示一个图表,该图表的数据在数据库中。这是我控制器的代码:

public ActionResult TimeFrequency()
        {
            ArrayList arrayValue = new ArrayList();
            arrayValue.Add(0.5);
            arrayValue.Add(0.1);
            arrayValue.Add(0.5);
            arrayValue.Add(0.5);
            arrayValue.Add(0.3);
            arrayValue.Add(0.8);

            ViewBag.ArrayValue = arrayValue;
            return View();
        }

TimeDomain.cshtml中,我有以下代码来显示具有随机值的图表:

var myConfig = {
                        type: 'bar',
                        backgroundColor: "#FFF",
                        plot: {
                            lineColor: "rgba(151,187,205,1)",
                            lineWidth: "2px",
                            backgroundColor2: "rgba(151,187,205,1)",
                            marker: {
                                backgroundColor: "rgba(151,187,205,1)",
                                borderColor: "white",
                                shadow: false
                            }
                        },
                        plotarea: {
                            backgroundColor: "white"
                        },
                        series: [{
                            values: getRandomValue(),
                            lineColor: "rgba(220,220,220,1)",
                            lineWidth: "2px",
                            alpha: 0.5,
                            borderWidth: "2px",
                            borderColor: "#C7C7C7",
                            borderTop: "2px solid #C7C7C7",
                            borderBottom: "0px",
                            backgroundColor1: "rgba(220,220,220,1)",
                            backgroundColor2: "rgba(220,220,220,1)",
                            marker: {
                                backgroundColor: "rgba(220,220,220,1)",
                            }

                        }]
                    }

在此行代码中:

 values:getRandomValue(),

方法getRandomValue返回一个值数组。我想删除此方法并从控制器

中读取值
 ViewBag.ArrayValue = arrayValue;

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以像这样将c#数组转换为js数组

var jsArray= @Html.Raw(Json.Serialize(ViewBag.ArrayValue));

答案 1 :(得分:0)

您必须在JavaScript变量中使用ViewBag.ArrayValue,如下所示:

<script type="text/javascript">
     var dataArray= @Html.Raw(Json.Serialize(ViewBag.ArrayValue));
</script>

按如下所示在图表配置的myConfig中更改代码

 values:dataArray