ASP.NET TreeView 控制項使您可輕鬆地在使用者單擊某個節點時作出響應,或者是更改節點的行為以使其行為與超連結類似。另外,可以使用 TreeView 控制項在各個節點旁顯示複選框,以便使用者可以一次選擇多個節點。
一、選擇和導航
每個節點都有一個 Text 屬性和一個 Value 屬性。Text 屬性的值顯示在 TreeView 控制項中,而 Value 屬性用於儲存有關節點的其他資料,如傳遞給回傳事件的與節點相關的資料。
在單擊 TreeView 控制項的某個節點時,可能引發一個選擇事件(通過回傳)或轉到另一頁。未設定 NavigateUrl 屬性時,單擊某個節點將引發 SelectedNodeChanged 事件,該事件可用於提供自訂功能。還可以檢查某個節點的 Selected 屬性以確定是否已選擇該節點。將此屬性設定為 true 或對該節點調用 Select 方法將導致以編程方式選擇該節點。
每個節點還具有一個 SelectAction 屬性,該屬性可用於指定在單擊節點時將發生的操作,如展開或摺疊節點。若要避免在單擊某個節點時引發 SelectedNodeChanged 事件,而是轉到另一頁,則應將節點的 NavigateUrl 屬性設定為不是Null 字元串 ("") 的值。
二、複選框
如果您希望使用者能夠選擇多個節點,則可以使用 TreeView 控制項,以在節點映像旁邊顯示複選框。如果將 ShowCheckBoxes 屬性設定一個不是 TreeNodeType.None 的 TreeNodeType,則會在指定節點旁邊顯示複選框。當顯示複選框時,可以使用 TreeNodeCheckChanged 事件以在每次發送給伺服器的複選框狀態發生更改時運行自訂的常式。下一次將頁發送至伺服器時,將用選定的節點填充 CheckedNodes 屬性。
TreeView 控制項不會公開 AutoPostBack 屬性。因此,若要提交複選框選擇,必須在頁上放置一個控制項(如 Button Web 伺服器控制項),以便將資訊回傳至伺服器。