No 132 · MSChart的使用及遇到的问题

http://apps.hi.baidu.com/share/detail/34653329

http://www.cnblogs.com/ziyan22/archive/2007/05/24/758277.html

http://www.cnblogs.com/shuncy/archive/2008/11/07/1328738.html

http://www.cnblogs.com/eva_2010/archive/2011/12/12/2284907.html

http://www.cnblogs.com/lzjsky/archive/2011/04/07/2007888.html

MSChart(图表分析)中发现,有时候饼图每个扇形显示的数据应该是百分比,而柱状图显示的数据则应该是数量,这个时候如果要自己去计算和控制的话就会变得非常麻烦,上网找了很久才找到了一个关于MSChart的Label的值的转义符,如下
  #VALX      显示当前图例的X轴的对应文本(或数据)
  #VAL, #VALY,  显示当前图例的Y轴的对应文本(或数据)
  #VALY2, #VALY3, 显示当前图例的辅助Y轴的对应文本(或数据)
  #SER:      显示当前图例的名称
  #LABEL       显示当前图例的标签文本
  #INDEX      显示当前图例的索引
  #PERCENT       显示当前图例的所占的百分比
  #TOTAL      总数量
  #LEGENDTEXT      图例文本

问题:1

MSChart发布到网站的问题 System.IO.DirectoryNotFoundException: 图表处理程序配置 [c:\TempImageFiles\] 中的临时目录无效。

解:

方案一:(此方法测试通过)

         1:先将MSChart.exe安装包在服务器上安装

          2:在C盘建立文件夹:TempImageFiles,并且给该文件夹赋权限 IIS_WPG。具体操作如下:选中该文件夹,点击属性,选《安全》页,点击添加,添加IIS_WPG

,该用户的权限是完全控制。

   若不行再重启IIS一下

方案二(未测试)

这是因为在webconfig里设置了图片生成的路径,修改webconfig文件

把<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImages\;" />

红色部分修改为 <add key="ChartImageHandler" value="storage=file;timeout=20;url=~/TempImages/;" />

默认的是绝对路径,改成相对路径就好了

同时要给相应的TempImages目录分配权限

问题:2

mschart控件出现“为 ChartImg.axd 执行子请求时出错”的解决方法

解:

首先检查web.config文件的 <httpHandlers>节点下有无这句话:

<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />,若无,则添加这句话到该节点下,若有则按下面的修改

1. 修改web.Config

<add key="ChartImageHandler" value="storage=file;timeout=20;url=~/TempImages/;" />

将其中的 dir=c:\TempImages\ 的绝对路径 修改外 url=~/TempImages/ 相对路径  (前提条件:网站文件中必须包含 TempImages文件夹)

2. 修改

<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

<add path="ChartImg.axd" verb="GET,POST,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

3. 修改

<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD"
    path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

为:

<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
    path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

 

你可能感兴趣的:(No 132 · MSChart的使用及遇到的问题)