【问题标题】:How to add Chart image to HtmlTable?如何将图表图像添加到 HtmlTable?
【发布时间】:2013-09-15 22:33:11
【问题描述】:

我在代码隐藏文件中完全动态地生成图表并将图像保存为 jpeg 格式。

Chart Chart1 = new Chart();

Chart1.DataSource = ds.Tables[0];
Chart1.DataBind();
Chart1.Series.Add(new Series());
Chart1.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Pie;
Chart1.Series[0].XValueMember = "bloodType";
Chart1.Series[0].YValueMembers = "Total";

Chart1.ChartAreas.Add(new ChartArea());
Chart1.ChartAreas[0].Area3DStyle.Enable3D = true;
Chart1.ImageType = System.Web.UI.DataVisualization.Charting.ChartImageType.Jpeg;


Chart1.SaveImage("C:\\MyChartImage.jpg", ChartImageFormat.Jpeg);


HtmlTable tbProductImage = new HtmlTable();
HtmlTableRow trImageRow = new HtmlTableRow();



HtmlTableCell tdImageCell = new HtmlTableCell();

//Get generaqted image.
System.Web.UI.WebControls.Image imageVar = new System.Web.UI.WebControls.Image();
imageVar .Visible = true;
imageVar .ImageUrl = "C:\\MyChartImage.jpg";


tdImageCell.Controls.Add(imageVar );
trImageRow.Cells.Add(tdImageCell);

tbProductImage.Rows.Add(trImageRow);
this.Controls.Add(tbProductImage);

图表图像在 C:\ 驱动器中成功生成,但是当我尝试将其放入 HTMl 表格单元格时,没有呈现任何内容。没有显示错误。如何显示图像?请帮忙。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    保存到Web应用程序中的Image文件夹,如果您没有image文件夹,请创建它

    Chart1.SaveImage(Server.MapPath("~/Image/MyChartImage.jpg"));
    

    然后

    imageVar.ImageUrl = "~/Image/MyChartImage.jpg";
    

    C:\folder1\.... 之类的图像 URL 将不起作用,您需要提供 Absolute URL 之类的 http://localhost:3458/Image/MyChartImage.jpg 或相对 URL 之类的 ~/Image/MyChartImage.jpg

    【讨论】:

      【解决方案2】:

      为了扩展 Damith 的答案,网站上的路径是相对于您网站的根目录的。这就是你看到tilda时所指的~

      Server.MapPath("~/") 将始终从代码隐藏中获取您当前所在网站的根文件夹。您需要从那里创建文件夹并保存文件。然后,如果您将文件保存在名为 images 的文件夹中,则可以在 html 中通过相对语法“/images/filename.ext”引用您保存的文件。为什么?因为“/”在html中指向你网站的根目录。

      您还可以使用Uri 对象为您创建文件的相对路径,只要将它们保存在您网站根目录的某个位置即可。见MakeRelativeUri

      【讨论】:

        猜你喜欢
        • 2013-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多