ai essayé quelques méthodes de présentation des tableaux en asp.net mvc, mais chacun a ses propres inconvénients, ne sachant toujours pas la meilleure approche pour présenter les cartesBonne approche pour la présentation des cartes en mvc3?
la première approche est en dessous d'un
public ActionResult Chart1()
{
Chart chart = new Chart();
chart.ChartAreas.Add(new ChartArea());
chart.Series.Add(new Series("Data"));
chart.Legends.Add(new Legend("Stores"));
chart.Series["Data"].ChartType = SeriesChartType.Pie;
chart.Series["Data"].Points.AddXY(1.0, 5.0);
chart.Series["Data"].Points.AddXY(2.0, 9.0);
var returnStream = new MemoryStream();
chart.ImageType = ChartImageType.Png;
chart.SaveImage(returnStream);
returnStream.Position = 0;
return new FileStreamResult(returnStream, "image/png");
}
view
<img src="/MyHome/Chart1" alt="" />
Par en utilisant la méthode ci-dessus im capable de présenter le tableau, comme la méthode d'action renvoie l'image directement, je ne suis pas en mesure de présenter des contrôles comme la zone de texte, bouton sur la même page du graphique
Y at-il une autre meilleure approche que ce?
Il ne doit pas pointer la source d'image à l'URL de la vue les graphiques, car elle rend également HTML. Au contraire, il devrait le rendre via @ Html.Partial ("Graphiques"). Mieux encore, évitez que la vue ne contienne une logique de rendu pour le graphique et créez plutôt un modèle fortement typé que le contrôleur remplit, et laissez uniquement la vue Chart.cshtml afficher la vue. De cette façon, il pourrait aussi faire un DisplayTemplate pour le modèle de graphique et le rendre avec @ Html.DisplayFor (model => model.Chart) –
le problème dans mon code est, la vue n'est pas appelée comme méthode d'action "return new FileStreamResult (returnStream, "image/png"); renvoie l'image, de sorte que la vue ne soit pas appelée. –
@SMK: J'ai une requête concernant les étiquettes affichées dans le graphique.Si nous utilisons un graphique à colonnes, et si nous avons un certain nombre de colonnes, alors le graphique n'affiche que l'étiquette de chaque colonne. Que devrait-on faire pour montrer chaque étiquette de colonne? –