Monituj użytkownika, aby zapisać / otworzyć plik w ASP.NET C #

Nie powinno być tak trudno dowiedzieć się, jak to zrobić. Zasadniczo próbuję pobrać ciąg i pozwolić klientowi zapisać go, gdy klikną przycisk. Powinien pojawić się w oknie dialogowym Zapisz / Otwórz. Żadnych dodatkowych dzwonków i gwizdków ani nic. To nie jest nauka o rakietach (a przynajmniej tak bym pomyślał).

Wydaje się, że jest mnóstwo różnych sposobów (StreamWriter, HttpResponse itd.), Ale żaden z przykładów, które udało mi się znaleźć, nie wyjaśnia, co się dzieje. Z góry dziękuję.

Przykład jednego z wielu bloków kodu, które znalazłem ...

(To tylko przykład, nie możesz oprzeć swojej odpowiedzi na tym.)

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

Linia 2 mówi o zastąpieniu tego ciągu. W jaki sposób? Ten kod został ogłoszony jako wywołujący dialog. Nie powinienem musieć ustawiać ścieżki w kodzie, prawda?

EDIT: Final Outcome (ponownie edytowane, Delete musi przyjść przed 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();

questionAnswers(4)

yourAnswerToTheQuestion