0

ボタンをクリックするとダウンロードできるasp.net webformsプロジェクトにhtmlファイルがあります。

ファイルがユーザーに送信される前に、いくつかのリストを生成<select>し、いくつかのデータベース値に基づいて html の特定の部分に追加したいと考えています。これは c# を使用して可能ですか? 現在のダウンロード機能:

public void DownloadOfflineAuditSheetEditor(object s, EventArgs e)
{
    Response.AppendHeader("content-disposition", "attachment; filename=thefile.html");
    Response.WriteFile(Server.MapPath("~/thefile.html"), true);
    Response.End();
}
4

2 に答える 2

2

はい-ユーザーに送信される前に「ファイル」を操作する必要があります。

メソッドDownloadOfflineAuditSheetEditorでは、現在のファイルを読み取り、DB からコンテンツを取得してから、ファイルまたは新しいファイルに書き込む新しいメソッドを呼び出すことができます。次に例を示します。

public void GenerateRealTimeContent() 
{

   var path = Server.MapPath("~/thefile.html");
   var dbContent = Database.GetContent(); // returns the <select> Options
   string[] lines = System.IO.File.ReadAllLines(path);
   StringBuilder sb = new StringBuilder();

   foreach (var line in lines) 
   {
     if (line == "CONTENT WHERE YOU WANT TO EDIT") 
     {
        SB.AppendLine(dbContent);
     }

     SB.AppendLine(line);
   }

  // code to write to your file

}

次に、元の関数で次のようにします。

public void DownloadOfflineAuditSheetEditor(object s, EventArgs e)
{
   GenerateRealTimeContent();
   Response.AppendHeader("content-disposition", "attachment; filename=thefile.html");
   Response.WriteFile(Server.MapPath("~/thefile.html"), true);
   Response.End();
}

http://msdn.microsoft.com/en-us/library/ezwyzy7b.aspx - ファイルからの読み取り

http://msdn.microsoft.com/en-us/library/aa287548(v=vs.71).aspx - ファイルへの書き込み

于 2012-09-14T09:35:42.603 に答える
0

StreamReader を使用してファイルを読み取り、編集または追加して、すべてを Resposne に書き込むことができます。

于 2012-09-14T09:30:01.713 に答える