ここで例を見ていました:
この例では、ヘルパーを使用して、かみそりを使用して Google グラフ イメージを表示します。
@Html.DrawChart("p", "40,60,40", "250x100", "Pie Chart")
このメソッドは、正しいコードを組み立ててチャートを返します。
<img src='http://chart.apis.google.com/chart?chs=250x100&chd=t:40,60,40&cht=p&chl=Pie Chart' />
ただし、ブラウザでは、これは実際の画像ではなく、html コードとして表示されます。ヘルパーが出力するのとまったく同じコードをビューにコピーすると、正常に表示されます。@Html.Helper の出力をリテラル文字列ではなくコードに変更するために必要なものはありますか?
ヘルパー コード:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Text;
using System.Web.Mvc;
namespace SolarCars.Helpers
{
public static class GoogleChart
{
/// <summary>
/// Draws the chart.
/// </summary>
/// <param name="helper">The helper.</param>
/// <param name="chartType">Type of the chart.</param>
/// <param name="chartData">The chart data.</param>
/// <param name="chartSize">Size of the chart.</param>
/// <param name="chartLabel">The chart label.</param>
/// <returns></returns>
public static string DrawChart(this HtmlHelper helper, string chartType, string chartData, string chartSize, string chartLabel)
{
StringBuilder chartHtml = new StringBuilder("<img src='http://chart.apis.google.com/chart?chs=");
chartHtml.Append(chartSize);
chartHtml.Append("&chd=t:");
chartHtml.Append(chartData);
chartHtml.Append("&cht=");
chartHtml.Append(chartType);
chartHtml.Append("&chl=");
chartHtml.Append(chartLabel);
chartHtml.Append("' />");
return chartHtml.ToString();
}
}
}