2016-12-14 24 views
0

これを行うには良い方法があるのでしょうか。私は現在、いくつかの一時的なデータをMVCアプリケーションの同じビューページから呼び出される複数の部分ビューに送信しようとしています。ビューMVCから複数の部分ビューに一時データを送信

私は現在、TempDataでこれを実行しようとしていますが、一部の要求が1つしかないため、理解が限定されていることがわかります。私のパーシャルのすべてにフィルタをかけるのに、どのような方法を使用する必要がありますか?

メインビューページ:

@{ 
    ViewBag.Title = "Main View Page"; 

    TempData["ReturnUrl"] = Request.Url.OriginalString.ToString(); 
} 

@Html.Partial("_StatusTable1") 
@Html.Partial("_StatusTable2") 
@Html.Partial("_StatusTable3") 
@Html.Partial("_StatusTable4") 
@Html.Partial("_StatusTable5") 

部分図例:事前に

@{ 
    var temp = TempData["ReturnUrl"]; // temp is null on all partials except the first 
} 

// Partial View Code ... 

感謝。その

@Html.Partial("_SomePartial", TempData["ReturnUrl"]) 

のようなあなたのメインビューのページのコールで

+0

あなたはViewBagを使用することができます。 – Dismissile

+0

@Dismissile Will Not ViewBag同じことをパーシャルの1つに行って、それだけですか? – tokyo0709

+1

あなたは 'TempData'を使う必要はなく、強く型付けされたビューモデルを好むべきです。 'TempData'はリダイレクションのためにあり、最初のアクセスの後にクリアされる理由です。 –

答えて

0

partielビューは、私もこれが働くだろうと思います。

@Html.Partial("_SomePartial", TempData) 
+1

動作しません。一時的にTempDataにアクセスするとすぐに消えてしまいます。 – Dismissile

+0

それを変数に代入してビューに渡しますか? – knaos

関連する問題