2012-12-19 42 views
10

Tôi có một số mã trong sự kiện nhấp nút nhận chuỗi csv từ đầu vào bị ẩn và ghi nó vào phản hồi dưới dạng tệp CSV.Tải xuống tệp CSV bị bỏ qua trong ie8/9

Tính năng này hoạt động tốt trong Chrome, Firefox, ie7, ie9 ở chế độ quirks. Tuy nhiên nó không hoạt động trong ie8 hoặc ie9 mặc định.

Nhìn vào điều này trong fiddler csv đang được ghi vào phản hồi nhưng yêu cầu nhận được khác đang được thực hiện ngay lập tức sau đó và trang tải lại. Không có hộp thoại lưu tệp nào xuất hiện.

protected void btnCsvHidden_Click(object sender, EventArgs e) 
    { 
     var csv = csvString.Value; 
     var filename = "Reporting"; 

     Response.Clear(); 
     Response.ClearHeaders(); 
     Response.AddHeader("Cache-Control", "no-store, no-cache"); 
     Response.AddHeader("content-disposition", "attachment; filename=\"" + filename + ".csv\""); 
     Response.ContentType = "text/csv"; 
     Response.Write(csv); 
     Response.End(); 
    } 
+2

Bạn đã xem câu hỏi SO liên quan đến [this] (http://stackoverflow.com/questions/393647/response-content-type-as-csv)? –

+0

Có URL trực tiếp nào có thể xem được không? Bạn có chắc chắn không có bất kỳ trình xử lý sự kiện nào khác đang khiến trang làm mới trước khi lời nhắc tải xuống được tạo không? Bạn có thấy vấn đề tương tự nếu bạn thay đổi Content-Type thành application/octet-stream không? – EricLaw

+0

Thật không may tôi không có một ví dụ sống, tôi bắt đầu nghĩ rằng đây là một vấn đề với cài đặt tức là của riêng tôi. – JBB

Trả lời

3

Vấn đề là với IE của riêng tôi, tôi đã tải các bản cập nhật cửa sổ và giờ nó hoạt động nên tôi không chắc chính xác nó là gì.

Các vấn đề liên quan