2014-11-02 36 views
4

我正在編寫Asp.Net MVC 4應用程序。我想將模型對象保存到會話中,然後從另一個頁面訪問它,但不知道如何操作。可能嗎?例如一些代碼:如何將對象保存到ASP.NET中的會話並在視圖中訪問它

[HttpPost] 
    public ActionResult Index(EventDetails obj) 
    { 

     if (ModelState.IsValid) 
     { 
      Session["EventDetails"] = obj; 
      return RedirectToAction("Index2","Home"); 
     } 
     else return View(); 

這裏活動詳情型號代碼:

namespace ProjectMVC.Models 
{ 
    public class EventDetails 
    { 
     [Required] 
     public string FirstTeamName { get; set; } 
    } 
} 

所以我要救EventDetails反對會話,然後訪問它在查看像一個正常的對象。事情是這樣的:

@Session["EventDetails"].FirstTeamName 
+1

您需要將它轉換爲你的對象用於訪問它的參數,即'string name =((EventDetails)Session [「EventDetails」])。FirstTeamName' – Abbath 2014-11-02 21:48:44

+0

如果你只是想通過單一重定向來保存數據,最好使用TempData代替。 https://stackoverflow.com/questions/43939693/how-to-pass-tempdata-in-redirecttoaction-in-asp-net-mvc – Greg 2018-01-25 17:46:34

回答

3

你需要將其綁定到一個ViewModel:您只需

var vm = (EventDetails)Session["EventDetails"]; 
return View(vm); 

在你看來:

@model EventDetails 

@Model.FirstTeamName 
+0

Thnx,正是我想要的 – dantey89 2014-11-02 22:03:38

相關問題