UpdatePanel에서 ASP.Net 페이지 (마스터 페이지 사용)에 사용자 컨트롤이 있습니다. 이 컨트롤에는 버튼을 비롯한 여러 기능이 있습니다. 컨트롤을 클릭하면 클라이언트로 파일을 보내려는 링크를 제외하면 제대로 작동합니다.UserControl에서 UpdatePanel 뒤에 클라이언트에 파일 보내기
컨트롤은 표시, 동작 및 클라이언트에 전송하기 위해 선택적으로 직렬화 된 개체로 인스턴스화됩니다. 이 프로젝트에서도 UserControl이 아닌 UpdatePanel이 아닌 파일을 보냈습니다. 브라우저가 코드를 단계별로 진행할 수있는 것처럼 링크를 클릭하지 않는 것처럼 행동하며 코드가 작동 중임을 알 수 있습니다.
Response.Clear()
Response.AppendHeader("content-disposition", "attachment; filename=assignment.ics")
Response.ContentType = "text/xml"
'serialization code goes here
Response.Write(seralizedObject)
Response.Flush()
Response.End()
내가 대신 Response.Close
을 시도했습니다. 나도 Response.OutputStream.Write
을 사용해 보았습니다. 아무것도 작동하는 것 같지 않습니다. 내가 할 수있는 일이 가능한거야? 또는 파일을 보낼 다른 페이지로 리디렉션하는 방법을 고안해야합니까?
업데이트 :받은 답변을보기 위해 실제로 파일을 보내려면 다른 URL (ashx 파일)을 가리 키도록 구현을 변경했습니다. 그것은 작동하지만 이상적이지 않습니다. 나는 아직이 제안에 대한 다른 제안을하고있다.
UpdatePanel
이 작동하지 않으면 파일을 보낼 수있는 다른 파일 (예 : ashx 파일)에 '내부적으로'개체를 보내고 싶습니다. 지금은 URL querystring을 사용하여 ashx 파일의 개체를 다시 작성하기에 충분한 정보를 보내고 있습니다. 말할 필요도없이 아주 멋진 솔루션은 아닙니다.
비행 중에 파일을 생성해야합니까? –
@MikeC, 예, 파일은 즉시 생성되어야합니다. – cjbarth