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]
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)下运行它。