2016-08-04 13 views
0

Neuling zu MVC. Ich versuche, ein Diagramm im Browser unter Verwendung MVC anzuzeigen, aber wenn ich die Anwendung laufe, lädt die Seite das Bild herunter und schließt.MVC URL für Bilder lädt das Bild herunter anstatt die Ansicht anzuzeigen

Mein Controller

public ActionResult DrawChart() 
    { 
     var chart = new Chart(width: 300, height: 200) 
      .AddSeries(
         chartType: "bar", 
         xValue: new[] { "10 Records", "20 Records", "30 Records", "40 Records" }, 
         yValues: new[] { "50", "60", "78", "80" }) 
         .GetBytes("png"); 

     return File(chart, "image/bytes"); 
    } 

My View

@{ 
    Layout = null; 
} 

<!DOCTYPE html> 

<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title>DrawChart</title> 
</head> 
<body> 
    <div> 
     <img src="@Url.Action("DrawChart")" alt="Drawing chart with HTML Helper" /> 
    </div> 
</body> 
</html> 

Antwort

1

Sie eine Datei Ergebnis mit dem MIME-Typ von image/bytes Rückkehr und Sie fordern auch die GetBytes("png") Methode (was ich bin vorausgesetzt, man bekommt die PNG-Bytes).

In diesem Fall könnten Sie einfach versuchen return File(chart, "image/png"); Dies sollte den Browser anweisen, das Bild anzuzeigen.

1

Sie können es direkt auf die Ansicht schreiben Razor wie unten dargestellt, oder Teilansicht verwenden und machen es, wo immer Sie diesen Link

<div> 
@{ 
    var chart = new Chart(width: 300, height: 200) 
       .AddSeries(
          chartType: "bar", 
          xValue: new[] { "10 Records", "20 Records", "30 Records", "40 Records" }, 
          yValues: new[] { "50", "60", "78", "80" }) 
          .Write(); 
    } 
</div> 

finden wollen: http://www.asp.net/web-pages/overview/data/7-displaying-data-in-a-chart

+0

Danke. Die Antwort und die Referenz waren sehr hilfreich – Yoismel

+0

Vielen Dank, schätzen, wenn Sie es als Antwort so nützlich für andere markieren – Vijai