将临时数据从视图发送到多个部分视图MVC

将临时数据从视图发送到多个部分视图MVC

问题描述:

我想知道是否有一种很好的方法来做到这一点。我目前正在尝试将一些临时数据发送到多个部分视图,这些部分视图是从我的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'用于重定向,这就是为什么它在第一次访问后被清除的原因。 –

在你的主视图页面调用像

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

的partiel意见我认为,即使这会工作。

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

将无法​​正常工作。一旦他访问了TempData一次,它就消失了。 – Dismissile

+0

然后将其分配给一个变量并将其传递给视图? – knaos