看板 C_Sharp 關於我們 聯絡資訊
最近要把gridview內容匯出,但遇到個怪問題,有什麼解決辦法 可以兼顧效能,謝謝 環境 : asp.net with C# 附圖 : https://goo.gl/Z7nRFN 紅框內用updatepanel包住,gridview也是 (updatepanel沒有設定其它條件) Q1.當元件都在updatepanel內,我按匯出csv都沒反應,但是切換下拉選單很快速 Q2.若不用updatepanel,可以正常匯出CSV,但是每當我切換下拉選單時,會很久(畫面左下角會出現載入中 ??%) 感覺網頁卡很久,當掉 -------匯出CSV func----------- void ToCSV2() { Response.Clear(); //Response.Charset = "BIG5"; Response.ContentEncoding = Encoding.GetEncoding(950);//950就是所謂的BIG5 Response.Buffer = true; Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.csv"); Response.ContentType = "application/text"; GridView2.AllowPaging = false; StringBuilder sb = new StringBuilder(); for (int k = 0; k < GridView2.Columns.Count; k++) { //add separator sb.Append(GridView2.Columns[k].HeaderText + ','); } sb.Append("\r\n"); string tmpStr = ""; for (int i = 0; i < GridView2.Rows.Count; i++) { for (int k = 0; k < GridView2.Rows[i].Cells.Count; k++) { //add separator tmpStr = GridView2.Rows[i].Cells[k].Text.Replace("&nbsp;", "-"); tmpStr = tmpStr.Replace(",", " / "); sb.Append(tmpStr + ','); } //append new line sb.Append("\r\n"); } Response.Output.Write(sb.ToString()); Response.Flush(); Response.End(); } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.174.245.134 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1510753152.A.74B.html
kisha024: 有考慮用NPOI嗎? 11/16 01:00
totte: 你gridview內容是user輸入的嗎? 假如不是 僅是從資料庫撈出 11/16 01:21
totte: 可考慮做一個ashx之類 用js的非同步方式提供給user 11/16 01:22
areyo: 是user輸入再撈出顯示在gridvew 11/16 07:29
zg0608x: 你把匯出CSV的按鈕設定為PostBackTrigger就可以了 11/20 16:12
Ammenze: 將匯出的按鈕設定為postback trigger試試看 11/25 17:59