|
![]() |
Controller Code
using Highsoft.Web.Mvc.Stocks;
using MVC_Demo.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
namespace MVC_Demo.Areas.Highstock.Controllers.Shared
{
public partial class SharedController : Controller
{
public ActionResult LineMarkers()
{
List<LineSeriesData> appleData = new List<LineSeriesData>();
using (var db = new HighstockDataEntities())
{
foreach (AppleData data in db.AppleDatas)
{
appleData.Add(new LineSeriesData
{
X = Convert.ToDouble(data.Date),
Y = Convert.ToDouble(data.Value)
});
}
}
ViewBag.AppleData = appleData.OrderBy(o => o.X).ToList();
return View(ViewBag);
}
}
}
Controller Code
@using Highsoft.Web.Mvc.Stocks
@using Highsoft.Web.Mvc.Stocks.Rendering
<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script type="text/javascript">
function formatYAxis() {
return (this.value > 0 ? ' + ' : '') + this.value + '%';
}
</script>
@{ var chartOptions =
new Highstock
{
RangeSelector = new RangeSelector
{
Selected = 1
},
Title = new Title
{
Text = "Apple Stock Price"
},
Series = new List<Series>
{
new LineSeries
{
Data = ViewBag.AppleData as List<LineSeriesData>,
Name = "Apple Stock Price",
TurboThreshold = 10000,
Marker = new LineSeriesMarker
{
Enabled = true,
Radius = 3
},
Shadow = new Shadow
{
Enabled = true,
},
Tooltip = new LineSeriesTooltip
{
ValueDecimals = 2
}
}
},
};
chartOptions.ID = "chart";
var renderer = new HighstockRenderer(chartOptions);
}
@Html.Raw(renderer.RenderHtml())