0
我的頁面上有一個ASP.NET treeview。在我隱藏我有以下方法:ASP.NET Treeview控件總是將節點附加到CheckedNodes列表中
public string GetSelectedTreeValues(TreeView tv)
{
string taxVal = string.Empty;
StringBuilder textBuilder = new StringBuilder();
string lists = string.Empty;
string cleanedlists = string.Empty;
try
{
TreeNodeCollection checkedNodes = tv.CheckedNodes;
foreach (TreeNode tn in checkedNodes)
{
lists = textBuilder.Append(tn.ValuePath + ",").ToString();
}
// removing any trailing commas
cleanedlists = lists.Substring(0, lists.Trim().Length - 1);
}
catch (Exception ex)
{
new ApplicationException("Error: Getting Tree Nodes", ex);
}
return cleanedlists;
}
問題是,當我做了回發,如果我改變我選擇的價值,他們總是追加到值列表。我認爲值的列表應該清除,然後重置爲新的值。
我已經瀏覽了代碼,發現CheckedNodes屬性始終將我檢查的節點追加到列表中,而不刪除未經檢查的節點。
謝謝,JBL更換try塊內容!你的解決方案工作 - 現在我可以使用valuepaths設置跨回發檢查節點! :D(這是我需要完成的) – Tim 2012-03-20 17:48:05
我說得太快了......看起來我*仍然*結束了添加到CheckedNodes集合的樹視圖,無論我做什麼。這使我瘋狂 - 爲什麼當我取消選中框時值不會更新? – Tim 2012-03-20 19:28:37
@Tim:問題似乎不在代碼的這一部分。你能否將其他部分相對於你的treeview發佈? – jbl 2012-03-21 08:09:42