Asp.net mvc 3 在ASP.NET MVC 3中调用RedirectToAction()后,将擦除会话状态

Asp.net mvc 3 在ASP.NET MVC 3中调用RedirectToAction()后,将擦除会话状态,asp.net-mvc-3,session-state,redirecttoaction,Asp.net Mvc 3,Session State,Redirecttoaction,我使用一个简单的序列: 在[HttpGet]方法中设置会话状态 使用[HttpPost]方法中的RedirectToAction()重定向到另一个操作 要获取目标中该会话状态的值 问题: 如果用户在我的“表”视图中点击“提交”按钮,会话中的所有数据都将被清除,我无法在目标操作(即“表”)中获取它们。代码如下: [HttpGet] public ActionResult Edit(string TableName, int RowID, NavigationControl nav)

我使用一个简单的序列:

  • 在[HttpGet]方法中设置会话状态
  • 使用[HttpPost]方法中的RedirectToAction()重定向到另一个操作
  • 要获取目标中该会话状态的值
  • 问题:

    如果用户在我的“表”视图中点击“提交”按钮,会话中的所有数据都将被清除,我无法在目标操作(即“表”)中获取它们。代码如下:

       [HttpGet]
        public ActionResult Edit(string TableName, int RowID, NavigationControl nav)
        {
            if (nav != null) Session["NavigationData"] = nav;
    
            myService svc = new myService (_repository);
            EditViewModel model = new EditViewModel();
    
            model.TableDefinitions = svc.GetTableDefinition(TableName);
            model.RowData = svc.GetRowData(model.TableDefinitions.Name, RowID);
    
            return View(model);
        }
    
        [HttpPost]
        public ActionResult Edit(EditViewModel model)
        {
            MyService svc = new MyService (_repository);
            svc.SaveRowData(model.TableDefinitions.Name, model.RowData);
            return RedirectToAction("Table");
        }
    
        public ActionResult Table(string TableName)
        {
            myService svc = new myService (_repository);
    
            TableViewModel model = new TableViewModel();
            model.TableDefinition = svc.GetTableDefinition(TableName);
    
            NavigationControl nav = (NavigationControl)Session["NavigationData"];
            if (nav != null)
            {
                model.NavigationControl = nav;
            }
    
            return View(model);
        }
    
    当用户通过返回重定向到操作(“表”)到达会话[“NavigationData”]时,该会话始终为空。 若用户点击“编辑”视图上的HTML链接,会话[“NavigationData”]可以在“Table”方法中恢复其值

    知道发生了什么事吗?
    谁删除会话状态

    我的浏览器cookie已关闭,但状态未设置为无cookie。

    您是否在负载平衡器下运行应用程序?什么是“负载平衡器”?我在visual studio 2010 asp.net开发服务器(cassini)下运行它。