Treeview中利用递归无限绑定
闲话少说:
①建立数据库
②aspx
只是一个treeview控件而已,可以设置它的样式
③cs
public partial class index : System.Web.UI.Page
{
private ProAndCityDataContext dc = new ProAndCityDataContext();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindTreeview(null, 0);
}
}
/// <summary>
/// 根据父节点ID读出该节点的内容
/// </summary>
/// <param name="parentNode">父节点ID</param>
/// <returns></returns>
public IEnumerable<ProAndCity> ReadProvince(int parentNode)
{
return from p in dc.ProAndCity
where p.ParentID == parentNode
select p;
}
/// <summary>
/// 绑定Treeview
/// </summary>
/// <param name="n"></param>
/// <param name="parentID"></param>
private void BindTreeview(TreeNode n, int parentID)
{
foreach (ProAndCity p in ReadProvince(parentID))
{
if (parentID == 0)
{
n = new TreeNode();
n.Text = p.Name;
n.Value = p.ID.ToString();
this.TreeView1.Nodes.Add(n);
BindTreeview(n, p.ID); // 此时该节点的ID作为根节点,寻找子节点
}
else
{
TreeNode n1 = new TreeNode();
n1.Text = p.Name;
n1.Value = p.ID.ToString();
n.ChildNodes.Add(n1);
BindTreeview(n1, p.ID); // 此时该节点的ID作为根节点,寻找子节点
}
}
}
}
最后更新:2017-04-02 22:15:58