asp.net-mvc – 如何将模型加载到_Layout.cshtml并在各种视图之
发布时间:2020-12-16 07:17:42 所属栏目:asp.Net 来源:网络整理
导读:我有一个处理“课程”的MVC4项目.整个应用程序中的许多页面需要处理课程列表 – 用户配置文件需要提取列表,/课程的索引视图需要提取列表等. 由于这个数据几乎总是需要的,我想把它作为初始请求的一部分加载,所以我只需要一次查询数据库. 我想象一种情况,数据
我有一个处理“课程”的MVC4项目.整个应用程序中的许多页面需要处理课程列表 – 用户配置文件需要提取列表,/课程的索引视图需要提取列表等.
由于这个数据几乎总是需要的,我想把它作为初始请求的一部分加载,所以我只需要一次查询数据库. 我想象一种情况,数据放在Layout.cshtml中,然后其他视图可以根据需要访问Model数据,尽管我没有看到实现这一目标的明确方法.我想我可以把问题分成两部分: >将数据加载到Layout.cshtml中 我对这两方面都有点困惑 – 我怎么才能做到这一点? 解决方法
您应该使用Cache或OutputCache,将此列表放入Partial View,然后在需要的任何位置呈现它:
1)创建一个动作来瞳孔化部分视图.此视图将缓存最长持续时间,然后任何访问都不会产生任何开销: [NonAction] [OutputCache(Duration = int.MaxValue,VaryByParam = "none")] public ActionResult GetCourses() { List<Course> courses = new List<Course>(); /*Read DB here and populate the list*/ return PartialView("_Courses",courses); } 2)使用Chache以相同的方式填充部分视图: [NonAction] public ActionResult GetCourses() { List<Course> courses = new List<Course>(); if (this.HttpContext.Cache["courses"] == null) { /*Read DB here and populate the list*/ this.HttpContext.Cache["courses"] = courses; } else { courses = (List<Course>)this.HttpContext.Cache["courses"]; } return PartialView("_Courses",courses); } 3)通过Html.Action或Html.RenderAction渲染此视图: @Html.Action("GetCourses","ControllerName") 要么 @{ Html.RenderAction("GetCourses","ControllerName"); } 有关缓存的更多信息:Improving Performance with Output Caching (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- iis – asp.net mvc 3需要什么?
- asp.net-mvc – 从DataAnnotations MVC 3向字段添加CSS类
- 即使在阅读之后,ASP.NET TempData也不会被清除
- asp.net-mvc – 我在哪里可以初始化Orchard模块中的AutoMap
- .net中的深拷贝与浅拷贝
- asp.net-mvc – 如何在MVC中调用.ashx文件?
- asp.net – 在回发后阻止Bootstrap折叠切换
- asp.net – 使用UpdatePanel的CollectionPager问题
- asp.net – “<%:”做什么?
- asp.net-mvc – ASP.NET MVC重复任务
推荐文章
站长推荐
- asp.net – Sub Page_Init方法:找不到事件init
- asp.net-mvc – 用于移动设备的displaymode,带有
- asp.net-mvc – 如何防止用户导航回上一页?
- asp.net-web-api – WebAPI 2 – CORS无法使用co
- 数组的合并
- asp.net-mvc-3 – MVC3 OutputCache无法按预期在
- asp.net – 为什么我的项目引用不被Visual Studi
- asp.net-mvc – 使用web api和asp.net mvc 5进行
- asp.net-mvc – 有没有办法用asp.net mvc Razor
- asp.net – jquery下拉选择器AutoPostback
热点阅读