what netcore net gui dotnet avalonia asp c# asp.net-mvc charts asp.net-mvc-3 mschart

c# - netcore - gui dotnet core



Microsoft Charting, MVC 3 y Razor (3)

Aquí hay una solución completa en CodeProject que utiliza ASP.NET MVC 2 y Microsoft Charting Controls:

Probablemente sea tan bueno como sea posible en este momento (al menos no pude encontrar nada que se adapte mejor a sus necesidades), porque ASP.NET MVC 3 todavía es solo RTM y también lo es el motor de visión de afeitar. De todos modos, migrarlo de ASP.NET MVC 2 a 3 no es un gran problema. Cambiar el motor de visualización a la afeitadora sería un poco más de esfuerzo, pero el concepto general sigue siendo el mismo.

Yo diría "adelante" y cuando se enfrente a un problema concreto o tenga una pregunta, solicítelo aquí.

Actualizar

Esta publicación del blog de Robert Muehsig también cubre el tema y tiene una solución descargable. Según su comentario, se parece más a lo que realmente quiere lograr:

En relación con este tema, me pregunto si alguien ha hecho que la biblioteca Microsoft Charting funcione con Asp MVC 3 y Razor.

Sé sobre el nuevo asistente de gráfico presentado, pero como eso es muy limitado, no es realmente una opción.

Crear un método de acción que devuelva una imagen también es bastante fácil, pero dado que toda la interactividad se rompe (incluso solo información sobre herramientas simples para las barras en un gráfico de barras), este método tiene varias limitaciones.

Este ejemplo es probablemente el artículo más útil que he encontrado, pero todavía no puedo obtener un solo gráfico fácil de trabajar a pesar de que funciona al representar la imagen solo en un método de acción. También tengo las muestras funcionando bien bajo .net 4, pero obviamente esas no son muestras de MVC.

SO: ¿Alguien ha conseguido que las gráficas de Microsoft funcionen completamente en Asp MVC 3 con Razor y podría publicar un enlace a una solución completa?


Pasé unos días buscando una solución que crea gráficos interactivos en MVC, pero todos los ejemplos que he visto son mucho más complicados de lo que deben ser.

La respuesta de Sarath es casi perfecta, pero guarda la imagen dos veces, lo que no es muy eficiente. Con la función Html.RenderAction () podemos hacer todo en una sola pasada y hacerlo lo más eficiente posible.

Aquí está la solución que se me ocurrió:

http://blog.smirne.com/2012/09/creating-interactive-charts-with-aspnet.html

No he visto ninguna solución que pueda hacer todo de una vez. La mejor parte de esto es que no necesita ninguna modificación en el archivo web.config. Tampoco intenta usar un control ASP.net en MVC. Es pura tecnología MVC.

ACTUALIZAR

Aquí está el código según lo solicitado:

CONTROLADOR:

public ActionResult Chart() { var chart = buildChart(); StringBuilder result = new StringBuilder(); result.Append(getChartImage(chart)); result.Append(chart.GetHtmlImageMap("ImageMap")); return Content(result.ToString()); }

Funciones de utilidad:

private Chart buildChart() { // Build Chart var chart = new Chart(); // Create chart here chart.Titles.Add(CreateTitle()); chart.Legends.Add(CreateLegend()); chart.ChartAreas.Add(CreateChartArea()); chart.Series.Add(CreateSeries()); return chart; } private string getChartImage(Chart chart) { using (var stream = new MemoryStream()) { string img = "<img src=''data:image/png;base64,{0}'' alt='''' usemap=''#ImageMap''>"; chart.SaveImage(stream, ChartImageFormat.Png); string encoded = Convert.ToBase64String(stream.ToArray()); return String.Format(img, encoded); } }

VER:

@{ Html.RenderAction("Chart"); }


Si se trata de información sobre herramientas y detalles que está buscando, aquí hay una muestra. Intenté y trabajé como un encanto para mí. Necesita tener ImageMap vinculado con su imagen para tener interactividad.

Gráficos de MVC con interactividad