【发布时间】:2014-10-02 23:12:33
【问题描述】:
我们的用户要求将剑道树显示在 MVC Web 应用程序的页面左侧面板中。他们希望左侧面板出现在每个屏幕上。
目前我的 _Layout.cshtml 页面有一个部分用于呈现剑道树:
<div>
@{Html.RenderAction("GetTree", "Tree");}
</div>
在该操作中,我调用数据库以获取树的内容并将模型绑定到视图,如下所示:
@model IEnumerable<TreeViewItemModel>
但显然,在这种模式下,我转到 _Layout 的每个页面都会被调用,并且树数据会再次从数据库中获取。这不是很有效。
有什么更好的方法可以让我只调用一次数据库?
【问题讨论】:
-
每个页面和每个用户的树的内容是否相同?
-
在某个地方放置一个 if(TreeViewItemModel == null),无论它被加载到哪里,都包含某种类型的缓存
标签: asp.net-mvc kendo-asp.net-mvc kendo-treeview