使用TreeNodeCollection作爲內部數組來保存ViewState或Session。以下是您可以使用的一種方法的粗略模型;很不完美,但應該讓你走上正軌。
TreeView tv = new TreeView();
// Button click event for 'Add Node' button
protected void AddNode(object sender, EventArgs e)
{
if (SaveNodeToDb(txtNewNode.Text, txtNavUrl.Text))
{
// Store user input details for new node in Session
Nodes.Add(new TreeNode() { Text = txtNewNode.Text, NavigateUrl = txtNavUrl.Text });
// Clear and re-add
tv.Nodes.Clear();
foreach (TreeNode n in Nodes)
tv.Nodes.Add(n);
}
}
public bool SaveNodeToDb(string name, string url)
{
// DB save action here.
}
public TreeNodeCollection Nodes
{
get
{
if (Session["UserNodes"] ! = null)
return (TreeNodeCollection) Session["UserNodes"];
else
return new TreeNodeCollection();
}
set
{
Session["UserNodes"] = value;
}
}
來源
2011-02-21 09:09:23
Ian
順便說一句,如果你想先做數組操作,那麼就把這個數據庫分開保存成一個單獨的按鈕點擊事件。 – Ian 2011-02-21 09:28:08