amcharts 주식 차트를 사용하고 있습니다. 다음 코드를 사용하는 경우, 내 차트 부하 벌금과 모든 작동합니다MVC 컨트롤러 조치를 호출 할 때 amcharts eventDataLoader로 stockEvents를로드 할 수 없습니다.
var chart = AmCharts.makeChart("chartdiv", {
"type": "stock",
"theme": "light",
"dataSets": [{
"title": "Values",
"color": "#b0de09",
"fieldMappings": [{
"fromField": "value",
"toField": "value"
}, {
"fromField": "average",
"toField": "average"
}],
"dataProvider": @Html.Raw(ViewBag.ChartData),
"categoryField": "date"
}],
...
그리고 내 컨트롤러 : 나는 다음과 같은 코드를 추가하여 재고 이벤트를 추가 할 때
public class ChartController : Controller
{
public IActionResult Index()
{
ViewBag.ChartData = JsonConvert.SerializeObject(GetChartData());
return View();
}
}
그러나, 두 가지 일을 : 1) 차트가 더 이상 표시되지 않으며 2) 컨트롤러의 GetChartEvents 액션이 호출되지 않으므로 데이터를 반환하지 않습니다.
var chart = AmCharts.makeChart("chartdiv", {
"type": "stock",
"theme": "light",
"dataSets": [{
"title": "Values",
"color": "#b0de09",
"fieldMappings": [{
"fromField": "value",
"toField": "value"
}, {
"fromField": "average",
"toField": "average"
}],
"dataProvider": @Html.Raw(ViewBag.ChartData),
"categoryField": "date",
"eventDataLoader": {
"url": @Url.Action("GetChartEvents", "ChartController"),
"format": "json",
"showCurtain": true,
"showErrors": true,
"async": true
}
}],
...
컨트롤러
public class ChartController : Controller
{
…
[HttpGet]
public IActionResult GetChartEvents()
{
ChartEvent[] events = new ChartEvent[3];
events[0] = new ChartEvent(new DateTime(2007, 12, 17));
events[1] = new ChartEvent(new DateTime(2008, 10, 27));
events[2] = new ChartEvent(new DateTime(2009, 07, 06));
return Json(events);
}
}
ChartEvent 내 자신의 클래스이지만, GetChartEvents가 호출되지 않기 때문에, 나는 문제가 반환 된 데이터를 포맷하는 방법을 생각하지 않습니다에
. 뷰에서 , 내가"url": "/Chart/GetChartEvents",
GetChartEvents으로
"url": @Url.Action("GetChartEvents", "ChartController"),
을 교체하는 경우는 아직 호출되지하지만 차트 자체를 표시하지 않습니다. 나는 심지어 ViewBag에 이벤트를 배치했지만, 그 마지막 주 (그리고 정신 체크!)으로 하나
"dataProvider": @Html.Raw(ViewBag.ChartData),
"stockEvents": @Html.Raw(ViewBag.ChartEvents)
작동하지 않는 경우 페이지 I 출력 @ Html.Raw의 내용 (ViewBag
[{ "날짜": .ChartEvents)는, 내가 잘 나타납니다 다음 얻을 "날짜 (2007,12,17)", "유형": "arrowUp", "backgroundColor로": "# 00CC00 ","graph ":"g1 ","description ":" "}, {"날짜 ":"날짜 (2008,10,27) ","유형 ":"arrowUp ","backgroundColor ":"# 00CC00 ","graph ":"g1 ","description ":" "}, {날짜} :"Date (2009,07,06) ","type ":"arrowUp ","backgroundColor ":"# 00CC00 ","그래프 ":"g1 ","설명 ":" "}]]
도움이나 통찰력을 주시면 감사하겠습니다.
감사합니다 안드레이 , 그래 내가 추가 한 플러그인을 참조하는 것을 잊었다 : 제
, dataloader가 플러그인을 포함해야합니다. 그러나 eventDataLoader는 정확하며 페이지 아래쪽에서 참조한 가이드에 언급되어 있습니다.즉, 차트에 오버레이가 표시되어 이제는 진행 중이므로 파일을로드하는 중 오류가 발생했습니다 :/ChartController/GetChartEvents 그러나 GetChartEvents 메서드는 여전히 호출되지 않습니다. – MikeO
저는 .net 인물이 아니지만 로그 및 브라우저 콘솔의 네트워크 탭에서/ChartController/GetChartEvents에 대한 요청을 시도한 것을 확인하고 응답에서 반환 된 내용을 확인하는 것이 좋습니다. 그러면 상황을 알릴 수 있습니다. – xorspark
몇 가지 변경 사항을 적용한 후 mvc가 경로에 "컨트롤러"라는 단어를 추가 했으므로 컨트롤러 이름이 잘못되었음을 알았 기 때문에 "url"로 호출을 업데이트했습니다. '@ Url.Action ("GetChartEvents", "Chart") ', 및 컨트롤러 작업이 호출되고 있습니다. 모든 도움을 주셔서 감사합니다. – MikeO