2016-12-14 64 views
0

我想知道是否有一種很好的方法來做到這一點。我目前正在嘗試將一些臨時數據發送到多個部分視圖,這些部分視圖是從我的MVC應用程序的相同視圖頁中調用的。將臨時數據從視圖發送到多個部分視圖MVC

我目前正在試圖與TempData的做到這一點,但我可以看到我的理解是有限的,因爲它只是一個局部的請求經歷。我需要使用什麼方法來過濾掉所有的偏分量?

主視圖頁面:

@{ 
    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 ... 

預先感謝。

+0

你可以使用ViewBag – Dismissile

+0

@Dismissile不會ViewBag做同樣的事情只是出去的部分之一,這是嗎? – tokyo0709

+1

你不需要使用'TempData',應該支持強類型的視圖模型。 'TempData'用於重定向,這就是爲什麼它在第一次訪問後被清除的原因。 –

回答

0

在你的主視圖頁面調用像

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

的partiel意見我認爲,即使這會工作。

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

將無法​​正常工作。一旦他訪問了TempData一次,它就消失了。 – Dismissile

+0

然後將其分配給一個變量並將其傳遞給視圖? – knaos

相關問題