重複の可能性:
アクションから別のアクションにデータを渡す
フォームを送信し、結果に応じてアクションにリダイレクトしたいという見方があります。アクションに対応するビューは強く型付けされており、ResultsViewModelを受け入れる必要があります。
T4MVCを使用してResultsViewModelを渡そうとしています。
以下はコードです:
[HttpPost]
public virtual ActionResult AddEntity(string viewModel)
{
//Deserialize using Json.NET
var entity = JsonConvert.DeserializeObject<MyEntity>(viewModel);
var success = DoSomething(); //returns boolean
if(success)
{
var result = new ResultsViewModel { MyEntity = entity, MessageId = 1};
return RedirectToAction(MVC.MyController.ResultsPage(result));
}
var result = new ResultsViewModel { MyEntity = entity, MessageId = 2};
return RedirectToAction(MVC.MyController.ResultsPage(result));
}
public virtual ActionResult ResultsPage(ResultsViewModel viewModel)
{
return View(viewModel);
}
コードが到達したとき
public virtual ActionResult ResultsPage(ResultsViewModel viewModel)
{
return View(viewModel);
}
viewModelは常にnullに等しくなります。
私はこのようなことができることを知っています:
return RedirectToAction("ResultsPage", new { viewModel = result });
編集:私はreturn RedirectToAction( "ResultsPage"、new {viewModel = result});を試しました。また、viewModelでnullを取得しています。
ただし、T4MVCを使用してオブジェクトを渡す理由/方法を理解しようとしています。
ありがとう、