2010-08-03 12 views
1

ASP.NET頁控件刷新頁面回發 - 但我不希望它是。ASP.NET圖表控件刷新頁面回發 - 但我不想它是

在我的aspx,我有:

<asp:Panel runat="server" ID="PanelRight" CssClass="roadmapRight"> 
     <asp:Chart ID="ChartRemainingDaysHistory" runat="server"> 
      <Series> 
      </Series> 
      <ChartAreas> 
       <asp:ChartArea Name="ChartAreaLineGraph"> 
        <AxisY Title="Days Remaining" /> 
        <AxisX Title="Date" IsLabelAutoFit="True"> 
         <LabelStyle Angle="90" Interval="2" /> 
        </AxisX> 
       </asp:ChartArea> 
      </ChartAreas> 
     </asp:Chart> 
    </asp:Panel> 

在後面的代碼:

protected void Page_Load(object sender, EventArgs e) 
{ 
    /* A bunch of code that needs to run */ 

    if(IsPostback) return; // return if it is postback 

    // On first run build the graph 

    IQueryable<int> _users = 
     (metaPlanningDataContext.TasksCurrents.Where(....)).Distinct(); 

    var s = new Series { 
     ChartType = SeriesChartType.Area, 
     Legend = "Engineer", 
     LegendText = "someName" }; 
    foreach (DateTime dateTimeKey in someDataSet.Keys) 
    { 
     s.Points.AddXY(dateTimeKey.ToOADate(), someDataSet[dateTimeKey]); 
    } 
} 

的問題是,從一些其他控制(Telerik的radgrid控件)圖表系列內容消失回傳。

如何確保控件在回發中被銷燬?

回答

6

問題是回傳後的圖表不是頁面加載時產生的?我認爲這是一個settingon圖表叫EnableViewState ......你可以嘗試設置,爲true

<asp:Panel runat="server" ID="PanelRight" CssClass="roadmapRight"> 
    <asp:Chart ID="ChartRemainingDaysHistory" runat="server" EnableViewState="true"> 
     <Series> 
     </Series> 
     <ChartAreas> 
      <asp:ChartArea Name="ChartAreaLineGraph"> 
       <AxisY Title="Days Remaining" /> 
       <AxisX Title="Date" IsLabelAutoFit="True"> 
        <LabelStyle Angle="90" Interval="2" /> 
       </AxisX> 
      </asp:ChartArea> 
     </ChartAreas> 
    </asp:Chart> 
</asp:Panel> 

發表評論,如果我在錯誤的電車......

+0

這做到了!謝謝! – Matt 2010-08-03 22:56:18

+0

@davidsleeps:謝謝! – 2012-08-16 05:08:06