これを行う方法を見つけるのはそれほど難しいことではありません。基本的に、文字列を取得して、クライアントがボタンをクリックしたときにそれを保存できるようにしようとしています。保存/開くダイアログが表示されます。余分なベルやホイッスルなどはありません。それはロケット科学ではありません(または、私はそう思っていたでしょう)。
さまざまな方法 (StreamWriter、HttpResponse など) があるようですが、適切に機能するか、何が起こっているかを説明することができた例はありません。前もって感謝します。
私が見つけた多くのコードブロックの例...
(これは単なる例です。これに基づいて回答しないでください。)
String FileName = "FileName.txt";
String FilePath = "C:/...."; //Replace this
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "text/plain";
response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ";");
response.TransmitFile(FilePath);
response.Flush();
response.End();
2行目は、その文字列を置き換えることを示しています。どのように?このコードは、ダイアログを表示するものとして宣伝されていました。コードにパスを設定する必要はありませんよね?
編集: 最終結果 (再度編集、削除は End(); の前に来る必要があります)
string FilePath = Server.MapPath("~/Temp/");
string FileName = "test.txt";
// Creates the file on server
File.WriteAllText(FilePath + FileName, "hello");
// Prompts user to save file
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "text/plain";
response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ";");
response.TransmitFile(FilePath + FileName);
response.Flush();
// Deletes the file on server
File.Delete(FilePath + FileName);
response.End();