2016-10-26 16 views
0

グラフの書き込み機能を呼び出そうとしたときにOutputStream is not available when a custom TextWriter is used.エラーが発生しました。円グラフMVCレイザーエラー "カスタムTextWriterが使用されているときにOutputStreamを使用できません。"

部分:

@{ 
var pieChart = new Chart(width: 500, height: 350, theme: ChartTheme.Green) 
      .AddTitle("Reject Message Report") 
      .AddSeries(
       name: "Rejects", 
       chartType: "Pie", 
       xValue: new[] { "Col1", "Col2", "Col3" }, 
       yValues: new[] { "2", "3", "4" }); 
} 

@pieChart.Write(); 

Partent:

<div class="container body-content"> 
    @Html.Action("RejectMessageReport", "ALS") 
</div> 

コントローラー:

public ActionResult RejectMessageReport(int business = 1, int cra = 0) 
{ 
     RejectMessageReportViewModel model = new RejectMessageReportViewModel(); 
     return PartialView("_RejectMessageReport", model); 
} 
+0

あなたはチャートを表示しようとしていますか? –

+0

どこにこのコードを使用していますか?いつエラーが表示されますか? – Shyju

+0

このグラフを表示するだけです。私はそれを部分的な視点で表現しています。もちろん、実際のデータをロードしたいのですが、今のところ私はその最も単純なレベルで作業しています。 – Jared

答えて

2

Chart.Write方法は、出力ストリームを書き込みます。現在のコードでは、親アクションメソッドのビュー内でアクションメソッドを呼び出しています。 Razorはメインビューのコードを実行しようとしています。子アクションのビューコードは出力を返して終了します。

あなたは画像要素を使用し、かみそりは、あなたのメインビューのコードを実行すると、グラフ

<div class="container body-content"> 
    <img src="@Url.Action("RejectMessageReport", "ALS")" /> 
</div> 

この道をレンダリングするアクションメソッドへのURLとそのソースを設定する必要があり、それが生成しますRejectMessageReportアクションメソッドへのURLとしてsrcを設定した画像タグのマークアップ(@Url.ActionメソッドがこのURLを返します)。あなたのブラウザはimgタグの画像ソースを読み込むために別の呼び出しを行います。イメージが書き込まれた後に出力ストリームが使用可能かどうか(その呼び出し用に)どうか気にする必要はありません。

+0

'@ Url.Action'と' @Html.Action'を使うのに違いはありますか? –

+0

'Url.Action'は、Html.Actionが直ちに実行されるアクションメソッドへのURLを返します。 – Shyju

関連する問題