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

ASP.NET 2.0 GridView 進階技巧:匯出 Excel、分頁處理與驗證方法

     編輯:關於ASP.NET

GridView 匯出 Excel 完整實作

核心步驟:

  1. 關閉分頁 (AllowPaging = false) 重新繫結完整資料。
  2. 設定 Response 標頭:Content-Type: application/vnd.xls、Content-Disposition: attachment;filename=Export.xls。
  3. 使用 HtmlTextWriter 將 GridView 渲染為 HTML 表格字串寫入 Response。
  4. 還原分頁設定並重新繫結。
protected void BtnExport_Click(object sender, EventArgs e) {
    Response.Clear();
    Response.AddHeader("content-disposition", "attachment;filename=Export.xls");
    Response.Charset = "utf-8";
    Response.ContentType = "application/vnd.xls";
    using (StringWriter sw = new StringWriter()) {
        using (HtmlTextWriter hw = new HtmlTextWriter(sw)) {
            GridView1.AllowPaging = false;
            BindData();
            GridView1.RenderControl(hw);
            Response.Write(sw.ToString());
        }
    }
    Response.End();
    GridView1.AllowPaging = true;
    BindData();
}
public override void VerifyRenderingInServerForm(Control control) { } // 必須覆寫

主從關聯資料呈現:ControlParameter 與 SelectedDataKey

  • ControlParameter 可繫結 GridView SelectedValue (第一個 DataKey) 或 SelectedDataKey.Values["欄位名"] 取得多鍵值。
  • 巢狀顯示:從表 GridView 與 SqlDataSource 放入主表 FormView 或 DataList 的 ItemTemplate 中,於 DataBound/ItemDataBound 事件動態設定從表 DataSource 參數值 (OrderID)。

空值處理最佳實務

  • EmptyDataText/EmptyDataTemplate:無資料時顯示友善訊息。
  • BoundField.NullDisplayText:欄位為 null 時顯示 "未列出" 等文字。
  • ConvertEmptyStringToNull="true":使用者清空輸入視為 null 寫入資料庫。
  • Parameter.DefaultValue + CancelSelectOnNullParameter="false":下拉選單「全部」選項傳空值時仍執行查詢 (配合 SQL WHERE col = ISNULL(@param, col))。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved