0

私はMVCにかなり慣れていないので、正しいアプローチが何であるかを知りたいです-フォームが送信されるとEdit ActionResultが実行され、データが保存されると、ファイルを生成してブラウザに送信してダウンロードしたいだけでなく、別のアクション。

ファイルはブラウザーに送信されますが、return RedirectToActions を使用しているため、コントローラーでそれ以上の処理は行われません。ご指摘ありがとうございます。

public ActionResult Edit(int id, InvoiceFormData formData)  
{ 
  ...    
  return base.RedirectToAction("ReturnPdf", new { id = 99 });

  // More processing...ideally...then

  return base.RedirectToAction("Action", "Controller");
}

public FileResult ReturnPdf(int? id)
{
  ...
  return output; // writes file output and prompts user to download
}
4

1 に答える 1

0

同じアクションの結果で 2 つの return ステートメントを使用して、両方が実行されることを期待することはできません。「戻る」とは、出力を返し、アクションの結果を終了することを意味します。したがって、アクションを連鎖させることができるので、Edit アクションの結果内でさらに処理を行うのではなく、そのロジックを ReturnPdf AR に移動し (それがコードで確認できるため)、最終的に最終出力を返すことができます。あなたが着陸したどんな行動結果でも。それが十分に明確だったことを願っています...

于 2011-02-16T12:47:26.913 に答える