<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView无刷新填充</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>TreeView PopulateNodesFromClient Example</h3>
<asp:TreeView id="LinksTreeView"
Font-Name= "Arial"
ForeColor="Blue"
EnableClientScript="true"
PopulateNodesFromClient="true"
OnTreeNodePopulate="PopulateNode"
runat="server">
<Nodes>
<asp:TreeNode Text="Inventory"
SelectAction="Expand"
PopulateOnDemand="True" Expanded="False" Value="0"/>
</Nodes>
</asp:TreeView>
<br><br>
<asp:Label id="Message" runat="server"/>
</form>
</body>
</html>
//cs文件
//OnTreeNodePopulate事件
protected void PopulateNode(Object sender, TreeNodeEventArgs e)
{
FillTreeNode(e.Node);
}
protected void FillTreeNode(TreeNode node)
{
string strValue = node.Value;
string strSql = "select * from Tb_TreeDemo where parentid=" + strValue;
DataTable dt = GetDataRow(strSql);
DataRow dr = null;
int i = 0;
if (dt != null)
{
for (i = 0; i < dt.Rows.Count; i++)
{
dr = dt.Rows[i];
TreeNode tnTemp = new TreeNode(dr["nodename"].ToString(), dr["id"].ToString());
tnTemp.PopulateOnDemand = true;
tnTemp.SelectAction = TreeNodeSelectAction.Expand;
node.ChildNodes.Add(tnTemp);
}
if (i == 0)
{
//当无子结点时,将其变成
node.PopulateOnDemand = false;
node.SelectAction = TreeNodeSelectAction.None;
}
}
}