Visual StudioでASP.NETとMVC 3を使用していて、あるアクションメソッド(Search
)から別のアクションメソッド(SearchResult
)。 ViewDataを使用しようとしましたが、SearchResultのビューには適用されませんでした。以下は、私のコードのスニペットです。 「検索」のデータがフォームから収集し、提出されたときに呼び出される(したがって[HttpPost]
宣言)と呼ばれていますASP.NET MVC 3のあるアクションメソッドから別のアクションメソッドにオブジェクトを渡す
[HttpPost]
public ActionResult Search(Search_q Q){
// do some work here, come up with an object of type 'Search_a'
// called 'search_answer'.
ViewData["search_answer"] = search_answer;
return RedirectToAction("SearchResults");
}
public ActionResult SearchResult(Search_a answer)
{
return View(answer);
}
また、私はまだRedirectToAction("SearchResults", new {answer = search_answer});
を使用しての代わりに、RedirectToActionに上記の呼び出しが、私の「search_answer」試してみましたビューには存続しませんでした。このSearch_a
オブジェクトをSearchResult
ビューに送信する最善の方法は何ですか。
これはうまくいきました、ありがとうEranga。 1つの潜在的な落とし穴は、コントローラーでDisposeの定義がオーバーライドされている(VSが自動生成されたCRUDコードで追加する傾向がある)場合、オブジェクトをビューで使用する前に破棄できることです。 – Jeyenne