C# 如何从Razor变量指定数组到Dygraph

C# 如何从Razor变量指定数组到Dygraph,c#,razor,dygraphs,C#,Razor,Dygraphs,我在会话[“PnlDataForChart”]中有一个字符串[]包含适当格式的字符串 但我不能在动态图中显示它们。我试图检查dataArray,但在VS调试器中看不到它,并且不确定如何在Firebug中执行 动态图的设置是否正确 来自页面来源: var-dataArray=[]; dataArray.push(“日期,Pnl”); dataArray.push(“2016/11/01:01,0.0000”); dataArray.push(“2016/11/01 01:02,0.0000”);

我在会话[“PnlDataForChart”]中有一个字符串[]包含适当格式的字符串

但我不能在动态图中显示它们。我试图检查dataArray,但在VS调试器中看不到它,并且不确定如何在Firebug中执行

动态图的设置是否正确

来自页面来源:

var-dataArray=[];
dataArray.push(“日期,Pnl”);
dataArray.push(“2016/11/01:01,0.0000”);
dataArray.push(“2016/11/01 01:02,0.0000”);
dataArray.push(“2016/11/01 01:03,0.0000”);
dataArray.push(“2016/11/01 01:04,0.0000”);
dataArray.push(“2016/11/01 01:05,0.0000”);
dataArray.push(“2016/11/01 01:06,0.0000”);
从查看页面:


var dataArray=[];
@{
foreach(字符串[])会话[“PnlDataForChart”]中的变量行)
{
dataArray.push(“@line”);
}
}
g=新动态图(
document.getElementById(“graphdiv”),
数据阵列
);

您的代码中有很多乱七八糟的地方。只是一些错误:

  • 之后有
    ,这是不必要的
  • 在foreach循环中,因为您处于
    块中,所以无法放置
    。在脚本块中,您只能使用JavaScript语法
  • 要从foreach循环访问js变量,必须使用@:语法,因此应采用以下方式:
    @:dataArray.push(“@line”)
  • 整个解决方案应该是这样的:

    控制器:

    var dataArray = new string[] {
        "Date,Temperature",
        "2008-05-07,75",
        "2008-05-08,70",
        "2008-05-09,80"
    };
    
    Session["PnlDataForChart"] = dataArray;
    
    和视图:

    <script src="~/Scripts/dygraph.js"></script>
    
    <div id="ExportDiv">
        <div id="graphdiv"></div>
    </div>
    
    <script type="text/javascript">
        var dataArray = [];
    
        @{
            foreach (var line in (string[])Session["PnlDataForChart"])
            {
                @:dataArray.push("@line");
            }
        }
    
        g = new Dygraph(document.getElementById("graphdiv"), dataArray.join('\n'));
    </script>
    
    
    var dataArray=[];
    @{
    foreach(字符串[])会话[“PnlDataForChart”]中的变量行)
    {
    @:dataArray.push(“@line”);
    }
    }
    g=新的动态图(document.getElementById(“graphdiv”)、dataArray.join('\n');
    
    var dataArray = new string[] {
        "Date,Temperature",
        "2008-05-07,75",
        "2008-05-08,70",
        "2008-05-09,80"
    };
    
    Session["PnlDataForChart"] = dataArray;
    
    <script src="~/Scripts/dygraph.js"></script>
    
    <div id="ExportDiv">
        <div id="graphdiv"></div>
    </div>
    
    <script type="text/javascript">
        var dataArray = [];
    
        @{
            foreach (var line in (string[])Session["PnlDataForChart"])
            {
                @:dataArray.push("@line");
            }
        }
    
        g = new Dygraph(document.getElementById("graphdiv"), dataArray.join('\n'));
    </script>