我有一个非常简单的ASPX页面,其中引用了d3.js,crossfilter.js和dc.js。 它还为页面引用了我的JavaScript库。 我也在使用Ext.js(我们公司的标准)。 我在aspx页面中有此内容:
<asp:Content ID="Content4" ContentPlaceHolderID="c" runat="server">
<ext:Container runat="server">
<Content>
<div class="container" align="center" runat="server">
<h2>Heading</h2>
<div class="row">
<div id="soi-chart">
<strong>SOI</strong>
<a class="reset" href="javascript:soiChart.filterAll();dc.redrawAll();" style="display: none;">reset</a>
<div class="clearfix"></div>
</div>
我可以在页面上看到标题和SOI标签。我还可以通过javascript进行调试,并且已经验证了正在加载数据。我的JavaScript包含:
var soiChart = dc.pieChart('#soi-chart');
d3.csv('LOSOpportunity.csv').then(function (data) {
var soi = ndx.dimension(function (d) {
return d.SOI;
});
// Produce counts records in the dimension
var soiGroup = soi.group();
soiChart
.width(240)
.height(180)
.radius(80)
.dimension(soi)
.group(soiGroup)
.label(function (d) {
if (soiChart.hasFilter() && !soiChart.hasFilter(d.key)) {
return d.key + '(0%)';
}
var label = d.key;
if (all.value()) {
label += '(' + Math.floor(d.value / all.value() * 100) + '%)';
}
return label;
});
dc.renderAll();
});
但是,当页面呈现时,我只看到标签,并且都没有呈现任何图形。如果我一步一步地检查图表的href
javascript:soiChart.filterAll();dc.redrawAll();
它不会在任何异常处停止,并且,我发现dc.redrawAll()没有任何区别。 dc.version在调试器中返回3.0.6;