J’essayais donc d’utiliser les aides graphiques dans l’espace de noms System.Web.Helpers.
selon http://www.asp.net/web-pages/tutorials/data/7-displaying-data-in-a-chart
Je crée le graphique dans une vue .cshtml mais je voulais le conserver dans le ViewModel.
Pas de problème, sauf lorsque j’essaie de la rendre sous forme d’image plus petite sur le site Web.
Je pensais que la solution la plus propre serait de créer une vue partielle partagée pour rendre les graphiques à partir de modèles
https://stackoverflow.com/questions/9685302/showing-system-web-helpers-chart-in-a-partial-view-from-the-model/_graph.cshtml
@model System.Web.Helpers.Chart @Model.Write()
Et puis restituer cette vue partielle en quelque sorte dans les sites Web appropriés. J’ai essayé quelques versions mais n’arrive pas à le faire fonctionner.
Website.cshtml
Some header above a graph
Cela ne fonctionne pas et je ne suis pas sûr de savoir comment faire cela. Penser que je peux penser maintenant, c’est faire en sorte que tous les modèles avec des graphiques héritent d’une Interface qui expose Chart et laisse ce modèle devenir le modèle de https://stackoverflow.com/questions/9685302/showing-system-web-helpers-chart-in-a-partial-view-from-the-model/_graph.cshtml.
Mais je ne sais pas si cela utilise le modèle.
Des opinions?
Some header above a graph
et alors vous pourriez avoir une action de contrôleur:
public ActionResult DrawChart() { MyViewModel model = ... return View(model); }
et une vue correspondante qui dessinera le graphique ( DrawChart.cshtml
):
@model MyViewModel @{ // TODO: use the data from the model to draw a chart var myChart = new Chart(width: 600, height: 400) .AddTitle("Chart Title") .AddSeries( name: "Employee", xValue: new[] { "Peter", "Andrew", "Julie", "Mary", "Dave" }, yValues: new[] { "2", "6", "4", "5", "3" }) .Write(); }
et le résultat rendu:
Some header above a graph
public ActionResult DrawChart() { MyViewModel model = ... return View(model); }
!!! Pour envoyer le paramètre Model à DrawChart
Changer en
Some header above a graph
public ActionResult DrawChart(MyViewModel _MyViewModel ) { MyViewModel model = MyViewModel ; return View(model); }
MyViewModel est Null
Demander conseil à ceux qui savent.