当我在我的 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);
%>