2013-11-27 35 views
2

創建一個簡單的通知系統,如果用戶有任何新通知,則會在登錄時將用戶重定向到通知頁面。在操作之間傳遞列表

我在登錄方法中獲取通知數據並將所有通知添加到列表中。然後,我想將這個列表傳遞給另一個控制器中的另一個動作,以便在那裏執行一些邏輯,這樣我就可以儘可能地不改變我的登錄控制器。問題是列表不會傳入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的轉換回對象列表。請有人幫忙。

在此先感謝

回答

2

演員TempData["notifications"]List<NotificationViewModel>

public ActionResult Notification() 
{ 
    List<NotificationViewModel> notifications = new List<Notifications>(); 
    notifications = (List<NotificationViewModel>)TempData["notifications"]; 
} 
+0

完美謝謝。當SO讓我時,會標記爲答案。 – loveforfire33