图表图像呈现
在 ASP.NET 的图表控件中,可以定义图表控件呈现图表图像的方式。 为此,请使用 RenderType 属性。 有三个选项可供选择。
ImageTag 选项
默认情况下,ASP.NET 的图表控件使用此方法呈现图表图像。 这是最简单的呈现方法。 该方法将呈现的图表图像缓存在内存中,或作为临时文件缓存。 此方法可提高具有静态数据和外观且访问频繁的图表的性能。
用法
将 RenderType 属性设置为 ImageTag。 可以指定如何管理呈现的图表。 有关更多信息,请参见图像文件管理。
BinaryStreaming 选项
选择此选项时,图表图像将直接流向客户端,而不会在服务器上保存。 这样,当请求 ASP.NET 页时,该页会表现得像静态图像,从而使您可以将 ASP.NET 页放置到任何 HTML <img> 标签中。 例如:
<img src="DetailedChart.aspx" />
当图表数据和外观经常发生更改,或使用服务器群集时,使用此选项可提高性能。 但是,该选项也存在一些不足:
没有图像缓存。
不支持 AJAX 或交互功能。 若要使用交互功能,则必须将此选项与 ImageMap 选项结合使用。
无法与同一源文件中的其他 HTML 元素共享该图表控件。
用法
使用此选项时,包含图表控件的 ASP.NET 页只能包含以下元素:
@ Page 指令
<asp.Chart> 元素
任何运行时代码
下面的示例演示一个包含二进制流图表控件的 ASP.NET。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="_Default" %>
<asp:Chart ID="Chart2" runat="server" RenderType="BinaryStreaming">
<series>
<asp:Series Name="Series1" ChartArea="ChartArea1">
<Points>
<asp:DataPoint YValues="4" />
<asp:DataPoint YValues="5" />
</Points>
</asp:Series>
</series>
<chartareas>
<asp:ChartArea Name="ChartArea1" />
</chartareas>
</asp:Chart>
ImageMap 选项
希望通过 BinaryStreaming 选项使用交互功能时可使用此方法。 在此选项中,将使用两个 ASP.NET 页:
第一页包含二进制流图表。 此页在图表控件的 RenderType 属性中使用 BinaryStreaming 选项。
第二页请求二进制流图表,并将映射区应用到流式处理的图表图像。
用法
设置 ASP.NET 页以使用 ImageMap 选项
使用图表控件中的 BinaryStreaming 选项创建第一页。
在第一页中,设置所有数据、外观和交互属性,设置方式与在完全自定义的交互图表(如序列工具提示)中相同。 还要将所有运行时代码添加到第一页或该页的代码隐藏文件中。
将第一页中的图表控件复制并粘贴到第二页中。
将第一页的所有运行时代码复制并粘贴到第二页或该页的代码隐藏文件中。
在第二页中,将图表控件的 RenderType 属性设置为 ImageMap,并将 ImageLocation 属性设置为第一页的位置。
备注
要使流式处理的图像和图像映射同步,两个 ASP.NET 页的图表控件的数据和外观属性以及运行时代码必须相同。