Rendering di immagini di grafici
Nel controllo Chart per ASP.NET, è possibile definire il modo in cui il controllo eseguirà il rendering dell'immagine del grafico. A questo scopo, utilizzare la proprietà RenderType. Sono disponibili tre opzioni.
Opzione ImageTag
Per impostazione predefinita, il controllo Chart per ASP.NET utilizza questo metodo per seguire il rendering delle immagini dei grafici. Questo rappresenta il metodo di rendering più semplice. L'immagine del grafico sottoposta a rendering viene archiviata nella cache in memoria o in file temporanei. Ciò migliora le prestazioni in caso di grafici con dati e aspetto statici a cui vengono eseguiti frequenti accessi.
Utilizzo
Impostare la proprietà RenderType su ImageTag. È possibile specificare il modo in cui saranno gestite le immagini sottoposte a rendering. Per ulteriori informazioni, vedere Gestione dei file di immagine.
Opzione BinaryStreaming
Questa opzione causa la trasmissione diretta dell'immagine del grafico al client, senza eseguirne il salvataggio sul server. Di conseguenza, la pagina ASP.NET si comporterà come un'immagine statica se richiesto, consentendone il salvataggio in un qualsiasi tag HTML <img>. Ad esempio:
<img src="DetailedChart.aspx" />
Utilizzare questa opzione per migliorare le prestazioni quando i dati e l'aspetto del grafico cambiano frequentemente o se si utilizza un cluster di server. Tuttavia, questa opzione presenta gli svantaggi elencati di seguito.
Nessuna memorizzazione nella cache delle immagini.
Nessun supporto per funzionalità AJAX o di interattività. Per utilizzare le funzionalità di interattività, è necessario utilizzare questa opzione in combinazione con l'opzione ImageMap.
È impossibile condividere il controllo Chart con altri elementi HTML nello stesso file di origine.
Utilizzo
Quando si utilizza questa opzione, la pagina ASP.NET che contiene il controllo Chart deve contenere solo gli elementi riportati di seguito.
La direttiva @ Page
Elemento <asp.Chart>
Qualsiasi codice di runtime
Nel seguente esempio viene illustrata una pagina ASP.NET che contiene un controllo Chart trasmesso in un flusso binario.
<%@ 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>
Opzione ImageMap
Utilizzare questo metodo, se si desidera utilizzare le funzionalità di interattività con l'opzione BinaryStreaming. Con questa opzione, vengono utilizzate due pagine ASP.NET.
La prima pagina contiene il grafico trasmesso in flusso binario. Questa pagina utilizza l'opzione BinaryStreaming nella proprietà RenderType del controllo Chart.
La seconda pagina richiede il grafico trasmesso in flusso binario e applica le aree mappa all'immagine del grafico.
Utilizzo
Per impostare le pagine ASP.NET per l'opzione ImageMap
Creare la prima pagina utilizzando l'opzione BinaryStreaming nel controllo Chart.
Nella prima pagina, impostare tutti i dati, l'aspetto e le proprietà di interattività come avverrebbe per un grafico totalmente personalizzato e interattivo, ad esempio le descrizioni comandi delle serie. Aggiungere inoltre tutto il codice di runtime alla prima pagina o al file code-behind associato.
Copiare e incollare il controllo Chart dalla prima pagina nella seconda pagina.
Copiare e incollare tutto il codice di runtime dalla prima pagina nella seconda pagina o nel file code-behind associato.
Nella seconda pagina, impostare la proprietà RenderType del controllo Chart su ImageMap e la proprietà ImageLocation del controllo Chart sulla posizione della prima pagina.
Nota
AL fine di sincronizzare l'immagine trasmessa e la mappa dell'immagine, i dati e le proprietà di aspetto del controllo Chart, così come il codice di runtime, devono essere identici nelle due pagine ASP.NET.