2014-06-25 2 views
0

웹 페이지 dashborad.aspx에 차트가 있습니다. MapAreaAttribute를 추가하여 차트 막대의 클릭 이벤트에 대한 차트 정보를 표시했습니다. 코드 :MsChart 이미지가 언젠가 jquery 대화 상자에 표시되지 않습니다.

foreach (Series series in SalesChart.Series) 
    { 
     for (int pointIndex = 0; pointIndex < series.Points.Count; pointIndex++) 
     { 
      string toolTip = ""; 
      string url = "DetailedSalesChart.aspx?region=" + series.Points[pointIndex].AxisLabel + "&param=" + series.Name; 

      toolTip = "<IMG SRC=RegionChart.aspx?region=" + series.Points[pointIndex].AxisLabel + "&param=" + series.Name + ">"; 

      series.Points[pointIndex].MapAreaAttributes = "onmouseover=\"DisplayTooltip('" + toolTip + "');\" onmouseout=\"DisplayTooltip('');\"" + " onclick=\"javascript:OpenPopUp('" + url + "');\""; 
     } 
    } 

OpenPopUp는() 대화 JQuery와 페이지를 열 수있는 자바 스크립트 방법이다

<script> 
    function OpenPopUp(url) { 

     $('#dialog').load(url, function() { 
      $(this).dialog({ 
       modal: true, 
       dialogClass:'popupModal', 
       height: 400, 
       width:520 
      }); 
     }); 
    } 
</script> 

차트는 제대로로드 JQuery와 대화에 처음으로로드하지만 난에 줄 중 하나를 클릭하면 때 차트의 또 다른 세부 정보를 보여주고 차트를 다시보기 위해 이전 바에 돌아 왔을 때, 사라지고 이미지가 사라졌습니다 !!! 십자 표시 만 이미지 서명이 없습니다.

차트 처리기의 구성은 다음과 같습니다. add key = "ChartImageHandler"value = "storage = file; timeout = 360; dir = c : \ TempImageFiles \;" />

감사합니다.

답변

0

문제를 파악했습니다. 차트가 파일 모드로 유지되도록 설정되어 있다고하더라도 이미지가 메모리에 유지됩니다.

내가 한 것은 데이터를 차트에 바인딩하기 전에 차트의 속성을 변경했습니다. 여기에 그 것입니다 :

ChartDetails.ImageStorageMode = ImageStorageMode.UseImageLocation; 

그리고 내 문제가 해결되었습니다.

희망은 앞으로 누구에게나 도움이 될 것입니다. :)