【发布时间】:2011-08-16 01:29:52
【问题描述】:
我有一个从 http://jquery.bassistance.de/treeview/demo/ 获取的 jquery 树视图
当节点和子节点的数量很少时,我可以毫无问题地加载树,但随着内容的增长,加载需要很长时间,几乎到了使用树视图似乎是个坏主意的地步。
这是我构建树视图的视图的一部分
<script type="text/javascript">
$(function () {
$("#Ul1").treeview({
collapsed: true,
prerendered: true
});
});
</script>
<ul id="Ul1" class="treeview-black">
<%
foreach (var t in (IEnumerable<itemSpecifications>)ViewData["items"])
{%>
<li class="expandable"><span><%=Html.RouteLink(t.itemName, null, new { controller = "RQA", action = "itemaction", policyname = t.itemName})%></span>
<%if (t.itemCount > 0)
{%>
<%for(int i=0;i<t.itemCount ;i++){%>
<ul>
<li class="expandable"><span><%=Html.RouteLink(t.subitems[i].Name, null, new { controller = "controller1", action = "itemUpdate", rule = t.subitems[i] })%></span></li>
</ul>
<%}%>
<%}%>
<% }%>
</li>
</ul>
控制器包含以下代码:
public ActionResult Index()
{
items1 = (from itemsInfo itemInfo in _itemInfoCollection
where itemInfo.Name == "val1"
select new itemSpecifications
{
itemName = itemInfo.Name,
itemCount = GetItemscount(), subitems = GetSubItems() });
ViewData["items"] = items1 ;
return View();
}
有时加载整个页面需要很长时间,以至于页面基本上崩溃(无法加载),有时当页面成功加载并且我单击节点旁边的任何加号时,需要很长时间才能打开子项目。值得一提的是,平均子节点是 400 项,任何建议将不胜感激,我使用的是 MVC3,它在 IE 中
谢谢
【问题讨论】:
-
哇,您会碰巧知道页面上有多少个节点(父母 + 孩子 + 孩子的孩子等)?
标签: jquery asp.net-mvc-3 treeview