2016-08-22 4 views
0

VS 2013을 사용하여 C#에서 개발중인 간단한 웹 응용 프로그램에 문제가 있습니다. 그리드보기에서 일부 값을 가져와 내보내는 것으로되어 있습니다. 그러나 .csv 파일로 테스트 할 때 정보를 가져 와서 페이지에 텍스트로 표시하는 것입니다. 하나의 링크 버튼으로 테스트 페이지를 작성하고 값을 텍스트 파일로 내보내려고했지만 동일한 결과를 얻었습니다. Csv로 내 보낸 데이터가 브라우저에 텍스트로 표시됩니다.

protected void LinkButton1_Click(object sender, EventArgs e) 
{ 
    string test = "1,1,1,,,"; 
    StringBuilder sb = new StringBuilder(); 
    sb.AppendLine(test); 

    Response.Clear(); 
    Response.ContentType = "text/plain"; 
    Response.AddHeader("content-disposition","attachement; test.txt"); 
    Response.Write(sb.ToString()); 
    Response.Flush(); 
    Response.End(); 
} 

Here's the output I'm seeing

코드는 올바른 보이는

은 (내가 몇 가지 예에 비교했습니다)하지만 난이 저장하거나 파일을 열 묻는 메시지가 표시되지 않을거야 난 아직도 왜 모르겠어요. 여러 브라우저에서 시도했지만 각 브라우저에서 동일한 결과를 얻습니다. 줄 번호 추가 외에 Visual Studio에는 기본 옵션이 설정되어 있습니다. VS에 문제가있을 수 있습니까? 아니면 IIS? 아니면 심지어 내 워크 스테이션?

+1

"첨부 파일"의 철자가 잘못되었습니다. – itsme86

+1

그리고 아무것도 못 찾지 않으면 csv가 아닌 txt로 저장하는 것 같습니다. – Roman

+1

'ContentType'은'text/csv'처럼 더 나을 것입니다. –

답변

1

나는 그것이라고 생각

Response.AddHeader("Content-Disposition","attachment; filename=test.txt"); 
0

을 시도해보십시오 ("콘텐츠 - Dispostion" "첨부 파일, 파일 이름 = TEST.TXT")를 Response.AddHeader 테스트 페이지에서 문제를 해결

텍스트 파일을 저장하라는 메시지가 표시되었습니다. 그런 다음 Content Type을 text/csv로 변경하고 계속해서 csv 파일을 저장하라는 메시지를 다시 보았습니다. 그래서 나는 그 코드를 복사해서 나에게 문제가되는 페이지를 사용했다. 그 페이지로 시작해서 CSV 파일로 프롬프트를 보낸다. 모두에게 감사드립니다.

관련 문제