私がすでに持っているもの:コントローラコードがいくつかの値を計算して、それらをビューに送信しています。今、私はすべての結果をビューページに表示しています。使用してテキストをビューに表示され、それらの結果をエクスポートするか、ボタンを押すだけで、ファイルをエクセル「エクスポート」テキストへのエクスポートまたはMVCコントローラからの出力
:
私は何をしようとしていますMVC
サンプルコードを、私は
を持っていますコントローラー:
public ActionResult Calculations()
{
dynamic CalcModel = new ExpandoObject();
int var1 = //Value calculated here
int var2 = //Calculation
CalcModel.Var1= var1;
CalcModel.Var2= var2;
return View(CalcModel);
}
ビュー:
<table>
<tr><td>First Value:</td><td><%=Model.Var1%></td></tr>
<tr><td>Second Value:</td><td><%=Model.Var2%></td></tr>
</table>
これらの値をコントローラからテキストファイルまたはExcelファイルに書き込んで、ユーザーにファイルを保存させたいと思っています。助けてくれてありがとう。
EDIT:
私は解決策(一種の)を見つけたが、さらに助けを必要とする:
Latest Controller code:
public ActionResult Calculations()
{
dynamic CalcModel = new ExpandoObject();
int var1 = //Value calculated here
int var2 = //Calculation
CalcModel.Var1= var1;
CalcModel.Var2= var2;
//Export code.
string csv = "Value1 = " + var1 + "|| Value2 = " + var2;
return File(new System.Text.UTF8Encoding().GetBytes(csv), "text/csv",
"Report.txt");
//Export code end.
return View(CalcModel);
}
これはそれに印刷された値を使用してテキストファイルを生成します。しかし、どのようにして各値を別々の行に出力するのですか。今はすべての値が1つのフラット・ラインで出力されます。
上記のサンプルでどのように動作するのかよく分かりませんが、私の例でこれを行う方法を教えてください。また、環境では「コンテキストではありません」というエラーが発生します。システムネームスペースを使用しています。 – ZVenue
ここでは何をしようとしているのか100%確信していません。 ちょうど1列の値であるCSVファイルを作成しようとしていますか? つまり、あなたの例では、var1とvar2の2つの異なるレコード、または1つのレコードの2つの列がありますか? – Arbiter
CSVファイルではありません...私は "Report.txt"を持っています。私はちょうどコントローラコードから出力された値でテキストファイルを作成しています...今、私の方法のために上記のOPコードでは、1つのフラット・ラインで印刷します。私はvar1を最初の行に、var2を新しい行に印刷するようにします。 – ZVenue