-2

TempData[]在 MVC 应用程序中使用,但它不像那个会话那样工作正常。

登录页面后刷新页面后,临时数据有空值,请建议我并使用web.config

<sessionState mode="InProc" timeout="10"/>.
4

3 回答 3

1

TempData 仅可用于用户的会话,因此它只会持续到我们读取它并在 HTTP 请求结束时被清除。适合使用 TempData 的场景是数据需要在两个请求之间持久存在时——重定向场景。您可以使用方法 Keep 存储直到下一个请求

   TempData.Keep

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

要从控制器填充数据,请创建操作:

public ActionResult GetData()
{
   // get data from your data source, replace with db call or where to get data
   var data = new [] {"sample1", "sample2"};

   return Json(data, JsonRequestBehavior.AllowGet);
}

当您需要数据时在客户端:

$.getJSON(@Url.Action("GetData"), function(data) {
   // fill dropdown instead alert
   alert(data);
});

看更多:

AJAX 请求 aspnet

类似的问题,但对于帖子

于 2013-08-30T06:57:45.477 回答
0

您可以将数据存储在会话中。

例如

 public static int Points
        {
            get
            {
                int points = Convert.ToInt32( HttpContext.Current.Session["PointssessionKey"]); 
                return  points;
            }
            set
            {
                HttpContext.Current.Session["PointssessionKey"] = value;
            }
        }

并将临时数据保存为

临时数据保留

于 2013-08-30T07:29:25.763 回答
0

刷新后它应该为空,因为 TempData 仅用于单个重定向。在您的情况下,您必须改用 Session 。

于 2013-08-30T06:57:16.543 回答