Benutzer zum Speichern / Öffnen der Datei in ASP.NET C # auffordern

Es sollte nicht so schwer sein herauszufinden, wie das geht. Grundsätzlich versuche ich, einen String zu nehmen und ihn vom Client speichern zu lassen, wenn er auf eine Schaltfläche klickt. Es sollte ein Dialogfeld zum Speichern / Öffnen angezeigt werden. Keine zusätzlichen Schnickschnack oder so. Es ist keine Raketenwissenschaft (hätte ich jedenfalls gedacht).

Es scheint eine Menge verschiedener Möglichkeiten zu geben (StreamWriter, HttpResponse usw.), aber keines der Beispiele, die ich gefunden habe, war in der Lage, Arbeit richtig zu finden oder zu erklären, was vor sich geht. Danke im Voraus.

Ein Beispiel eines der vielen Codeblöcke, die ich gefunden habe ...

(Dies ist nur ein Beispiel, zögern Sie nicht, Ihre Antwort darauf zu gründen.)

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();

Zeile 2 sagt, dass diese Zeichenfolge ersetzt werden soll. Wie? Dieser Code wurde angekündigt, um einen Dialog aufzurufen. Ich sollte keinen Pfad im Code festlegen müssen, richtig?

BEARBEITEN: Endergebnis (erneut bearbeitet, Löschen muss vor Ende kommen ();)

        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();

Antworten auf die Frage(4)

Ihre Antwort auf die Frage