2011-08-08 15 views
0

私はaspxビューからカミソリに変換しています。 RazorViewチャートコントロール

(私が使用しているDUNDASチャート)

.. 
    var chart = new System.Web.UI.DataVisualization.Charting.Chart(); 
    chart.Width = 492; 
    chart.Height = 406; 
    chart.RenderType = RenderType.ImageTag; 
    chart.ImageLocation = System.Configuration.ConfigurationManager.AppSettings["Temp"] + "/TempImagesChartPic_#SEQ(200,30)"; 
... 
    ... 
     // Render chart control 
     chart.Page = (Page)this; 
     var writer = new HtmlTextWriter(Page.Response.Output); 
     chart.RenderControl(writer); 

これはしかし、それは暗黙的に型 『System.Dynamic.DynamicObject』に 'を変換できません」スローASPXでうまく働いた:ビューでは、私は次のコードを持っていますSystem.Web.UI.Page '"

どのように私はそれを剃刀のように見えるようにしますか?私はあなたの問題はラインであると信じてい おかげ

答えて

1

使用しようとしているChartコントロールはASP.NET Webフォームのインフラストラクチャに大きく依存しているサーバー側のコントロールです。 ASP.NET MVCアプリケーション(WebFormsビューエンジン)で使用できるという事実は、このビューエンジンが古典的なWebForms上に持つ伝統のためです。 ASP.NET MVCアプリケーション(Razorを含むすべてのビューエンジン)のチャート作成では、System.Web.Helpers.Chartヘルパーを使用することをお勧めします。

2

chart.Page = (Page)this; 

のでカミソリビューでは、「これは、」HTMLで使用するためのビューのデータを含めることができる動的なオブジェクトです。

このように参照して、ページを削除してみてください。次あまりにもラインと直接アクセス応答から:

chart.Page = (Page) PageContext.Page; 
var writer = new HtmlTextWriter(Response.Output); 
chart.RenderControl(writer); 
+0

hmm。私は取得できません "タイプ 'System.Web.WebPages.WebPageRenderingBase'を 'System.Web.UI.Page'に変換できません" – ShaneKm

関連する問題