コントローラーメソッドから呼び出し側にプレーンテキストファイルを返す必要があることを考慮してください。アイデアは、ブラウザでプレーンテキストとして表示するのではなく、ファイルをダウンロードすることです。
私は次の方法を持っていますが、期待通りに機能します。ファイルはダウンロードのためにブラウザに表示され、ファイルに文字列が入力されます。
void
戻り値の型に100%慣れていないので、このメソッドの「より正しい」実装を探したいと思います。
public void ViewHL7(int id)
{
string someLongTextForDownload = "ABC123";
Response.Clear();
Response.ContentType = "text/plain";
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.hl7", id.ToString()));
Response.Write(someLongTextForDownload);
Response.End();
}
コントローラークラスのFileメソッドを使用してFileResultを返す
public ActionResult ViewHL7( int id )
{
...
return File( Encoding.UTF8.GetBytes( someLongTextForDownLoad ),
"text/plain",
string.Format( "{0}.hl7", id ) );
}
メソッドからFileContentResult
を返します。