Invite l'utilisateur à enregistrer / ouvrir le fichier dans ASP.NET C #

Il ne devrait pas être dur à trouver comment faire cela. Fondamentalement, je suis en train de prendre une corde et laissez le client s'enregistrer lorsqu'ils cliquent sur un bouton. Une fenêtre devrait apparaître, avec un dialogue Ouvrir/Enregistrer. Pas de supplément de cloches et de sifflets ou de quoi que ce soit. Ce n'est pas la science de fusée, (ou alors je l'ai pensé).

Il semble y avoir une tonne de différentes façons, (StreamWriter, HttpResponse, etc.), mais aucun des exemples que j'ai pu trouver un travail correctement ou expliquer ce qui se passe. Merci à l'avance.

Un exemple de l'un des nombreux blocs de code que j'ai trouvé...

(C'est juste un exemple, sentez-vous libre de ne pas la base de votre réponse.)

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

Ligne 2 dit de remplacer cette chaîne. Comment? Ce code a été annoncé comme l'éducation d'un dialogue. Je ne devrais pas avoir à définir un chemin d'accès dans le code, non?

EDIT: Résultat Final (Édité à nouveau, Supprimer doit venir avant la Fin();)

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

source d'informationauteur Ber53rker