asp.net – 如何将数据保存在MVC控制器的内存中?
发布时间:2020-12-16 07:24:12 所属栏目:asp.Net 来源:网络整理
导读:请看下面的动作.当用户第一次导航时,创建一个对象,然后当他在页面中导航时,再次访问Action但是通过Ajax请求和数据disapper(worksheets = null). private static ListWorksheet worksheets; public ActionResult DoTest() { if (Request.IsAjaxRequest()) { r
请看下面的动作.当用户第一次导航时,创建一个对象,然后当他在页面中导航时,再次访问Action但是通过Ajax请求和数据disapper(worksheets = null).
private static List<Worksheet> worksheets; public ActionResult DoTest() { if (Request.IsAjaxRequest()) { return PartialView("_Problems",worksheets[1]); } // first time worksheets = new List<Worksheet>() { new Worksheet("Hoja 1",...),new Worksheet("Hoja 2",...) }; return View(worksheets[0]); } 我的第一个解决方案是将变量工作表设置为静态,但我认为这不是一个好习惯.我是在做一个好方法还是有另外一个tweeks? 解决方法
远离静态变量,尤其是在数据依赖于用户的情况下.您可以利用
ASP.NET Session对象.
通过将工作表字段更改为在Session对象中存储其值的属性,可以轻松完成此操作.这样,它将在后续调用中可用.例: private List<Worksheet> worksheets { get{ return Session["worksheets"] as List<Worksheet>;} set{ Session["worksheets"] = value; } } public ActionResult DoTest() { if (Request.IsAjaxRequest()) { return PartialView("_Problems",worksheets[1]); } // first time worksheets = new List<Worksheet>() { new Worksheet("Hoja 1",...) }; return View(worksheets[0]); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net-web-api – 使用WIF和OWIN中间件的角色与
- asp.net – 连接池的最大和最小大小是多少ADO.Ne
- .net – 通过互联网向银行收取的最简单的方法是什
- asp.net-mvc – 401响应代码的json请求与ASP.NET
- 使用Asp.Net MVC和Web Api配置Ninject
- asp.net – IIS 7.5 Web应用程序首先请求应用程序
- 使用 Xunit.DependencyInjection 改造测试项目
- asp.net-mvc-5 – Web API和MVC 5控制器上的CORS
- asp.net – NHibernate – ManagedWebSessionCon
- ASP.NET 5中是否有缓存模式的指导
热点阅读