首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

ASP.NET 餅圖超連結實作:主頁面資料繫結、Session 快取與圖片串流輸出 (第 8 講第 9 部分)

     編輯:關於C語言

主頁面 (pie_customers.aspx) 邏輯

  1. 連接 Access 資料庫 (demomdb.mdb)。
  2. 查詢前 10 位客戶 ID、名稱、訂單總金額 (子查詢加總)。
  3. 建立 PieShape,設定寬 400、高 300。
  4. 逐筆 reader.Read():取得數值、文字 (含換行提示)、超連結 (pie_orders.aspx?customerid=...),呼叫 pie.Add(value, text, link)。
  5. pie.RefreshState() 計算角度。
  6. Session["pie_customers"] = pie 快取供圖片服務頁面使用。
  7. lblResult.Text = pie.GetHtmlString("pieimage.aspx?name=pie_customers") 產生 HTML。
  8. DataGrid1 同步顯示資料來源驗證。

圖片服務頁面 (pieimage.aspx)

private void Page_Load(object sender, EventArgs e)
{
    string name = Request.QueryString["name"];
    if (name == null) return;
    PieShape pie = Session[name] as PieShape;
    if (pie == null) return;

    using (Bitmap bmp = pie.CreateBitmap())
    {
        Response.ContentType = "image/png";
        using (MemoryStream ms = new MemoryStream())
        {
            bmp.Save(ms, ImageFormat.Png);
            ms.WriteTo(Response.OutputStream);
        }
    }
}

協作關鍵

  • 主頁面必須先將餅圖物件存入 Session,並產生正確的 img src 指向圖片服務頁面。
  • 圖片服務頁面依 QueryString 從 Session 取回物件並輸出影像。
  • 兩頁面緊密配合,瀏覽器才能完整顯示餅圖。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved