MVCプロジェクトでMschartを使用しているときに問題が発生しました。プロジェクトの最初のインデックスページを使用して、部分ビュー名index2をレンダリングすると、コードは次のようになります。
<% Html.RenderPartial("Index2"); %>
しかし、私がそれを実行すると、メッセージが次のようなエラーが発生します
CS0029:タイプ「ASP.views_home_index2_ascx」を「System.Web.UI.Page」に暗黙的に変換することはできません
-コードの問題行は
://チャートコントロールをレンダリング
52行目:Chart2.Page = this; <<ここで
53行目:HtmlTextWriter writer = new HtmlTextWriter(Page.Response.Output);
54行目:Chart2.RenderControl(writer);
しかし、Index2.ascxのすべてのコードをindex.aspxに配置し、部分ビューをレンダリングしない場合は、正常に機能します
Index2.ascxのコードは
<%
System.Web.UI.DataVisualization.Charting.Chart Chart2 = new System.Web.UI.DataVisualization.Charting.Chart();
Chart2.Width = 412;
Chart2.Height = 296;
Chart2.RenderType = RenderType.ImageTag;
Chart2.Palette = ChartColorPalette.BrightPastel;
Title t = new Title("No Code Behind Page", Docking.Top, new System.Drawing.Font("Trebuchet MS", 14, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105));
Chart2.Titles.Add(t);
Chart2.ChartAreas.Add("Series 1");
Chart2.Series.Add("Series 1");
// add points to series 1
Chart2.Series["Series 1"].Points.AddY(3);
Chart2.Series["Series 1"].Points.AddY(4);
Chart2.Series["Series 1"].Points.AddY(5);
Chart2.BorderSkin.SkinStyle = BorderSkinStyle.Emboss;
Chart2.BorderColor = System.Drawing.Color.FromArgb(26, 59, 105);
Chart2.BorderlineDashStyle = ChartDashStyle.Solid;
Chart2.BorderWidth = 2;
Chart2.Legends.Add("Legend1");
// Render chart control
Chart2.Page = this;
HtmlTextWriter writer = new HtmlTextWriter(Page.Response.Output);
Chart2.RenderControl(writer);
%>