0

共有の場所からテキスト ファイルを取得しようとしていて、ユーザーが Web ブラウザからテキスト ファイルを開くと、テキスト ファイルのコンテンツが表示されず、ページ ソースが表示されます。それを避ける方法は?私は何を間違っていますか?これが私のコードです。しかし、ローカルで実行すると、テキスト ファイル データを表示でき、ページ ソースも取得できます。私の英語は下手で、間違いがあればごめんなさい。

 GridViewRow rw = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
 LinkButton lnkTxtFile = (LinkButton)rw.FindControl("lnkTxtFile");
 string strFilename = lnkTxtFile.Text.Replace("/","\\");
 System.IO.FileInfo targetFile = new System.IO.FileInfo(strFilename);
 Response.Clear();
 Response.AddHeader("Content-Disposition", "attachment; filename=" + targetFile.Name);
 Response.ContentType = "application/octet-stream";
 Response.WriteFile(targetFile.FullName);
 HttpContext.Current.ApplicationInstance.CompleteRequest();
4

2 に答える 2

1

HttpContext.Current.ApplicationInstance.CompleteRequest();に変更Response.End();

CompleteRequest()それがページの残りの部分をレンダリングしていると思われます。Response.End()応答ストリームを閉じて、すぐにクライアントに返します。

于 2013-02-06T15:42:30.197 に答える