asp.net Treeview 如何异步加载数据

JavaWangYue 2011-08-10 04:51:13
我现在做的treeview是这样的如图:,但是数据量大的话,页面加载很慢,我现在想这样做,点击根节点才加载子节点,点击子节点在加载孙子节点,该如何做,网上找了很多例子,不起作用。

我的部分代码如下:页面:<asp:TreeView ID="TreeView1" runat="server" EnableViewState="false" ShowLines="True"
Width="170px" Font-Size="9pt" ForeColor="Black" NodeIndent="15" EnableClientScript="true" ShowCheckBoxes="All" ExpandDepth="0">
</asp:TreeView>


cs:
void LoadDataBind()
{
List<Entity.JZQDAB> li = Get_JZQ();
//var temp = Public.GetOnlineTerminal(ConfigurationManager.AppSettings["SQLConnString"] as string);
this.TreeView1.Nodes.Clear();
foreach (var t in li)
{
var nodes = new TreeNode("<input type='radio' name='top' id='Id" + t.qy + t.dz + "' onclick=GetTop('" + t.id + "','" + t.qy + "','" + t.dz + "')>" + t.tqmc + "(" + t.qy + ":" + t.dz + ")", t.id.ToString());
nodes.ShowCheckBox = false;
nodes.Expanded = false;
nodes.SelectAction = TreeNodeSelectAction.Expand;
this.TreeView1.Nodes.Add(nodes);
using (var row = CJQ_Bll.Get_CJQ_JZQIS(t.id))
{
while (row.Read())
{
var node1 = new TreeNode(row["azdz"].ToString(), row["id"].ToString());
node1.SelectAction = TreeNodeSelectAction.None;
node1.Expanded = false;
node1.ShowCheckBox = false;
nodes.ChildNodes.Add(node1);
using (var chlid = JZQDAB_BLL.Get_JZQ_Child(row["id"].ToString()))
{
while (chlid.Read())
{
var value = chlid["yhh"].ToString() + ":" +
chlid["yhm"].ToString() + ":" + chlid["azdz"].ToString() +
":" + chlid["zzxh"].ToString() + ":" + chlid["cldh"].ToString() +
":" + chlid["txsl"].ToString() + ":" + chlid["txdk"].ToString() +
":" + chlid["txlx"].ToString() + ":" + chlid["txdz"].ToString() +
":" + chlid["txmm"].ToString() + ":" + chlid["flgs"].ToString() +
":" + chlid["zsgs"].ToString() + ":" + chlid["xsgs"].ToString() +
":" + row["cjqdz"] + ":" + chlid["yhdlh"].ToString() + ":" + chlid["yhxlh"].ToString() +
":" + t.qy + ":" + t.dz;
var nodeChlid = new TreeNode(chlid["yhm"].ToString() + " (" + chlid["yhh"].ToString() + ")<span style='display:none;'>:" + value + "</span>", chlid["id"].ToString());
nodeChlid.SelectAction = TreeNodeSelectAction.None;
nodeChlid.Expanded = false;
node1.ChildNodes.Add(nodeChlid);
}
}
}
}
using (var row = JZQDAB_BLL.Get_JZQ(t.id.ToString()))
{
while (row.Read())
{
var value = row["yhh"].ToString() + ":" + row["yhm"].ToString() + ":" + row["azdz"].ToString() + ":"
+ row["zzxh"].ToString() + ":" + row["cldh"].ToString() + ":" + row["txsl"].ToString() + ":"
+ row["txdk"].ToString() + ":" + row["txlx"].ToString() + ":" + row["txdz"].ToString() + ":"
+ row["txmm"].ToString() + ":" + row["flgs"].ToString() + ":" + row["zsgs"].ToString() + ":"
+ row["xsgs"].ToString() + "::" + row["yhdlh"].ToString() + ":" + row["yhxlh"].ToString()
+ ":" + t.qy + ":" + t.dz;
var node1 = new TreeNode(row["yhm"].ToString() + " (" + row["yhh"].ToString() + ")<span style='display:none;'>:" + value + "</span>", row["id"].ToString());
node1.SelectAction = TreeNodeSelectAction.None;
nodes.ChildNodes.Add(node1);
}
}
}
this.TreeView1.Dispose();
}
...全文
264 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
aoshizhizun 2011-11-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 javawangyue 的回复:]
结果还是自己搞定的,哎 结贴了
[/Quote]
樓主怎麼搞定的?代碼貼出來,給我們這些後來的參考啊...
JavaWangYue 2011-08-14
  • 打赏
  • 举报
回复
结果还是自己搞定的,哎 结贴了
JavaWangYue 2011-08-11
  • 打赏
  • 举报
回复
帖子不能沉啦
JavaWangYue 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wxr0323 的回复:]
引用 3 楼 javawangyue 的回复:

引用 1 楼 wxr0323 的回复:
jstree 试过没有?


jstree 能把选中的孙子节点放到grid去吗?


帖子不能沉啦

JSTREE 点击才加载

你要放到Gridview
是什么意思
[/Quote]

就是我点左边的节点,然后把选中的节点放到右边的gridview中
子夜__ 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 javawangyue 的回复:]

引用 1 楼 wxr0323 的回复:
jstree 试过没有?


jstree 能把选中的孙子节点放到grid去吗?


帖子不能沉啦
[/Quote]
JSTREE 点击才加载

你要放到Gridview
是什么意思
JavaWangYue 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wxr0323 的回复:]
jstree 试过没有?
[/Quote]

jstree 能把选中的孙子节点放到grid去吗?


帖子不能沉啦
JavaWangYue 2011-08-10
  • 打赏
  • 举报
回复
jstree 能把选中的孙子节点放到grid去吗?
子夜__ 2011-08-10
  • 打赏
  • 举报
回复
jstree 试过没有?

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧