【发布时间】:2016-12-14 16:11:57
【问题描述】:
我想知道是否有一个好方法可以做到这一点。我目前正在尝试将一些临时数据发送到从我的 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 ...
提前致谢。
【问题讨论】:
-
你可以只使用 ViewBag
-
@Dismissile ViewBag 不会做同样的事情只是去其中一个部分,就是这样?
-
你不需要使用
TempData并且应该支持强类型视图模型。TempData用于重定向,这就是为什么它在第一次访问后被清除。 -
@tokyo0709 no...TempData 应该像 David 提到的那样被访问一次。 ViewBag 没有这样的限制。虽然我同意强类型模型是首选。但是如果你不想创建强类型模型,你可以使用 ViewBag。我相信您也可以将 TempData["ReturnUrl"] 更改为 ViewData["ReturnUrl"]
标签: c# asp.net-mvc asp.net-mvc-partialview