创建一个简单的通知系统,如果他们有任何新通知,则会在登录时将用户重定向到通知页面。
我在登录方法中获取通知数据并将所有通知添加到列表中。然后,我想将此列表传递给另一个控制器中的另一个操作,以便在那里做一些逻辑,这样我就可以保持我的登录控制器尽可能不受影响。问题是列表不会传递redirectToAction所以我需要显然使用tempdata。
我想传递的列表是一个对象列表
List<Notificaions> = new List<Notifications>();
// populate list.
if (notifications.Count > 0)
{
TempData["notifications"] = notifications;
return RedirectToAction("notification", "main");
}
然后我的Notfication行动
public ActionResult Notification ()
{
List<NotificationViewModel> notifications = new List<Notifications>();
notifications = TempData["notifications"];
}
我需要弄清楚如何将tempdata转换回对象列表。请有人帮帮忙。
提前致谢
答案 0 :(得分:2)
将TempData["notifications"]
投放到List<NotificationViewModel>
:
public ActionResult Notification ()
{
List<NotificationViewModel> notifications = new List<Notifications>();
notifications = (List<NotificationViewModel>)TempData["notifications"];
}