如何在控制器的动作调用之前将数据(item.id)保存到会话中?

时间:2012-07-05 15:51:46

标签: asp.net asp.net-mvc-3

我正在从控制器端构建一些View,下面的代码在View中显示“Edit”链接,点击后我需要进行一些不同的控制器操作。根据代码,我将“item.Id”本身保留在锚标记中。

response.Rows =
            (
            from item in selectedListAfterPagging
            select new GridEmployeeData()
            {
                id = item.Id,
                cell = new string[] { 
                item.Id.ToString(),
                item.Name,
                "<a href='/Home/MenuThree/"+ item.Id + "' title='Edit'>Edit</a>"
                }
            }
            ).ToArray();

我的问题,有没有办法将这个数据“item.Id”设置为一个Session变量,并且可以用于任何控制器的动作?

谢谢,

1 个答案:

答案 0 :(得分:0)

要写入会话:

Session["ItemId"] = item.Id;

从会话中读取:

int ItemId = Session["ItemId"];

您可以在会话变量中存储任何有效的.NET类型。当你从会话中读到时,就把它投出来。

这是一个详细描述ASP.NET会话的链接:

http://msdn.microsoft.com/en-us/library/ms178581.aspx

要解决您的问题,您可以:在构建视图之前设置会话变量,然后在调用编辑时,您可以查询会话以查看正在编辑的项目ID。