如何在JavaScript中传递参数名?
有没有一种方法可以在JavaScript中动态获取变量的处理程序?我认为这没有意义,所以我想做的就是这样 我正在使用在我的web应用程序中生成图形。在同一页有两张图表之前,一切都正常 我使用c#从数据库获取数据,并将其转换为JavaScript数组,然后像这样写入页面 HTML/C#: javascript中的如何在JavaScript中传递参数名?,javascript,jquery,Javascript,Jquery,有没有一种方法可以在JavaScript中动态获取变量的处理程序?我认为这没有意义,所以我想做的就是这样 我正在使用在我的web应用程序中生成图形。在同一页有两张图表之前,一切都正常 我使用c#从数据库获取数据,并将其转换为JavaScript数组,然后像这样写入页面 HTML/C#: javascript中的pgdata必须与HTML/C中的“var pgdata”+Model.Id+“匹配 如何获取HTML/C代码向HTML中吐出的变量?您可以将变量名称连接在一起并“求值”它 为什么不做这样
pgdata
必须与HTML/C中的“var pgdata”+Model.Id+“
匹配
如何获取HTML/C代码向HTML中吐出的变量?您可以将变量名称连接在一起并“求值”它
为什么不做这样的事情呢
<script type="text/javascript">
var pgdata = {};
@Html.Raw("pgdata["+Model.Id+"] = ") @Html.Raw(items.toJson()) ;
</script>
你就不能输出这样的东西吗?
plotMyJson({json from c#…})
,然后在js中创建一个plotMyJson
函数?将它改为$。plot($(这个),eval(数据数组),options);
工作了。我知道eval被认为是邪恶的。eval非常邪恶,而且(几乎)是邪恶的永远不要用正确的方法来完成你想要完成的任何事情。HTML/C#代码会被执行多次。我认为var pgdata={};
会在每次执行后清除数组。不过,这种通用的方法是你要找的。在更早的地方实例化并分配pgdata,或者像if(!('pgdata'在窗口中)){pgdata={};}
if ($(".PerformanceGraph")) {
$(".PerformanceGraph").livequery(function () {
//Display the graph for risk and reward.
var options = { series: {
bars: { show: true, barWidth: 0.45, align: "center" }
},
legend: {
show: true, position: "ne", backgroundOpacity: 0, container: $("#PerformanceGraphLegend")
},
multiplebars: true
};
var dataArray = $(this).attr('data-array');//I get the name of the variable as String.
$.plot($(".PerformanceGraph"), pgdata, options);
});
}
<script type="text/javascript">
var pgdata = {};
@Html.Raw("pgdata["+Model.Id+"] = ") @Html.Raw(items.toJson()) ;
</script>
for (k in pgdata) {
$.plot($(".PerformanceGraph"), pgdata[k], options);
}