我試圖在ASP.Net 5/MVC 6項目中使用DotNet HighChart庫將圖表添加到頁面。如何使用DotNet HighChart在ASP.Net 5/MVC 6
我已經導入來自的NuGet庫,並添加上_layout鑑於素文字引用:
<script type="text/javascript" src="~/lib/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="~/lib/highcharts/highcharts.js"></script>
我已經定義了一個ViewModel類持有圖表:
public class IndexReportViewModel
{
public Highcharts Chart { get; set; }
}
創造並在控制器中填充庫存示例:
public IActionResult Index()
{
IndexReportViewModel ivm = new IndexReportViewModel();
Highcharts chart = new Highcharts("chart")
.SetXAxis(new XAxis
{
Categories = new[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }
})
.SetSeries(new Series
{
Data = new Data(new object[] { 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4 })
});
ivm.Chart = chart;
return View(ivm);
}
控制器具有必需的命名空間:
using DotNet.Highcharts;
using DotNet.Highcharts.Options;
using DotNet.Highcharts.Helpers;
最後我引用它在索引視圖:
@model TimeCheckBES.ViewModels.Reports.IndexReportViewModel
<p>My Chart</p>
@Model.Chart
當它只是似乎顯示HighCharts類型的頁面加載對象,如:
任何想法?我試過了:
- 將js引用添加到視圖本身而不是_layout(我已經在dev模式下檢查了頁面,並且它們正在加載)。
- 在索引視圖中調用
@Model.Chart.ToHtmlString()
。 - 不使用ViewModel並直接返回圖表對象。
我想我必須錯過一些關於js腳本工作的方式,但不能想到它可能是什麼。
編輯:其他信息
我也直接加入了命名空間的觀點,雖然編譯器不認爲他們是必要的。
@using DotNet.Highcharts;
@using DotNet.Highcharts.Options;
@using DotNet.Highcharts.Helpers;
'@ Html.Highsoft()。Highcharts(Model.Chart)'? –
對不起 - _IHTMLHelper不包含'HighCharts()'的定義_ – jidl
您是否已將'using'語句添加到您的視圖中? –