我想在MVC应用程序的多个页面中使用asp:chart控件。我的网页也有一些其他内容。所以我想添加一个带有图表控件的aspx Web表单页面作为局部视图。 我知道一个html助手可用于图表。但是,我不想使用它,因为我已经有一个带有asp:chart控件的webform页面。我可以添加它。
我在网上搜索了很多。我正在获取关于如何在MVC应用程序中添加带有母版页的webform页面的博客,但是没有获取Web表单作为局部视图。有些人可以给出一些想法或任何可以遵循的链接。
带图表控件的我的aspx页面
<asp:Chart ID="chartMain" runat="server" Height="500px" Width="780px" BackGradientStyle="TopBottom" BackSecondaryColor="White"
Palette="BrightPastel" BorderColor="Gray" BackColor="#f4f4f4" BorderlineDashStyle="Solid" BorderWidth="4" ImageType="Png">
<Legends>
<asp:Legend IsTextAutoFit="False" Name="Default" BackColor="Transparent" Font="Trebuchet MS, 8.25pt, style=Bold"></asp:Legend>
</Legends>
<ChartAreas>
</ChartAreas>
</asp:Chart>
&安培;在后面的代码我正在初始化asp:图表控件属性。
public partial class AspNetchart : Page
{
protected void Page_Load(object Sender, EventArgs E)
{
try
{
DrawChart();
return;
}
catch (Exception Ex)
{ }
}
private void DrawChart()
{
try
{
// Set the data source
chartMain.DataSource = ObjChartDetails.ChartDataSource;
// Add series
AddSeries();
// Prepares chart area
DrawChartArea();
}
catch (Exception Ex)
{}
}
}
现在我在这个aspx页面中有图表。我只是想在我的MVC应用程序中将此aspx页面渲染为局部视图。
答案 0 :(得分:0)
我认为你只需要在MVC Action中渲染你的ASPX页面,这样就可以在里面渲染图表了。 如果是这样,您可以参考以下链接来执行此操作。
您可以使用上面提到的操作并返回父页面中的内容。
使用@Html.Action()
即可。
答案 1 :(得分:0)
据我所知,解决方法是将ASPX页面呈现为字符串,然后包含在RAZOR页面中:
渲染:
StringWriter _writer = new StringWriter();
HttpContext.Current.Server.Execute("MyPage.aspx", _writer);
string html = _writer.ToString();