在孟子e章的“在ASP.NET中动态创建柱状图和饼图”HTML中有下面这条语句:
<img src="Chart.aspx" />(提示要设置alt的属性)
(1)好像是要从Chart.aspx中获取图像,但如果Chart.aspx中有多个Bitmap图像,那究竟是获取那一个呢?
(2)另外我在VS2005里调试了一下程序,提示错误:
     “ASP.default_aspx”不会实现接口成员“System.Web.IHttpHandler.IsReusable”
为什么呀?
(3)如果去掉上面的命名空间namespace eMeng.Exam,则出现的网页中不能显示图像(为打红叉的矩形),为什么?
各位大虾指教一下!

解决方案 »

  1.   

    Chart.aspx这个网页输出的就是一个图片。你可以在外面认为它就是一个jpg或gif,不同的是它是动态由程序生成的。唉,你看看网上验证码的例子就明白了。
      

  2.   

    to (1)好像是要从Chart.aspx中获取图像,但如果Chart.aspx中有多个Bitmap图像,那究竟是获取那一个呢?如果是根据不同状态显示不同的图的话,你可以加上参数,例如
    <img src="Chart.aspx?ID=..." />
      

  3.   

    to (2)另外我在VS2005里调试了一下程序,提示错误:
    “ASP.default_aspx”不会实现接口成员“System.Web.IHttpHandler.IsReusable”
    为什么呀?
    (3)如果去掉上面的命名空间namespace eMeng.Exam,则出现的网页中不能显示图像(为打红叉的矩形),为什么?可能是你细节处理问题,孟子提供的是方法,只要理解内容的关键点,然后应用到你的程序中就行了,如果全盘复制的话,可能会有namespace或者其他的方面需要手动修改。
      

  4.   

    <img src="Chart.aspx" />(提示要设置alt的属性)
    这是一种警告,是DTD验证的提示,可以添加或者忽略(1)好像是要从Chart.aspx中获取图像,但如果Chart.aspx中有多个Bitmap图像,那究竟是获取那一个呢?
    只能加载一个,要加载多个,需要使用多个<img src="Chat.aspx?id=1">
    或者将多个Bmp合成为一个
    (2)另外我在VS2005里调试了一下程序,提示错误:
         “ASP.default_aspx”不会实现接口成员“System.Web.IHttpHandler.IsReusable”
    为什么呀?名称空间需要自己调整。可以不要复制原来的名称空间部分即可(3)如果去掉上面的命名空间namespace eMeng.Exam,则出现的网页中不能显示图像(为打红叉的矩形),为什么?检查你的Chat.aspx文件,名称空间也去了。
    你只需要复制Page_Load里面的代码即可
      

  5.   

    谢谢渔翁大哥的回答!
    -------------------------
     
     Knight94(愚翁)  并不大吧,好象才毕业没几年!
      

  6.   

    问题解决了一部分,已经将孟大哥的源码改后嵌到自己的程序里了,可以动态显示投票变化结果。
    也正如孟大哥所说,去掉名字空间就可以正常运行程序。
    但奇怪的问题是,运行孟大哥的程序,本来希望出现一个标题为“饼状图和柱状图”的网页,其中有一个由2行组成的table,第一行显示饼状图和柱状图,第二行显示文本“ASP.NET 中动态创建图形范例”。但去掉命名空间以后,实际运行结果是仅出来一个web页,左上角就是画的“饼状图和柱状图”图片,其他的就没了,页面标题是“http://localhost:2027/柱状图/chart.aspx”,其中“柱状图”是我起的文件名,chart.aspx是webform文件名。
    也就是说html里的table不见了,为什么呢?
    而去掉保存语句:
             objBitMap.Save(Response.OutputStream, ImageFormat.Gif);
    再运行,能显示table,但图片处就变红叉叉了。另外加上命名空间就报错:
    “ASP.default_aspx”不会实现接口成员“System.Web.IHttpHandler.IsReusable”各位大虾指点一下~
      

  7.   

    to 
    而去掉保存语句:
    objBitMap.Save(Response.OutputStream, ImageFormat.Gif);
    再运行,能显示table,但图片处就变红叉叉了。你没把图像数据返回,当然是红叉
      

  8.   

    问题基本解决了,解决方法就是再增加一个web窗体。
    在增加的窗体内设table,然后在table内引用chart.aspx文件。即:
              <td align="center"><img alt=""  src="Chart.aspx"/></td>
    归纳起来,是不是说在本文件的table里调用本文件的图形对象,table就会被覆盖呢?
    大家讨论下,就结帖。