I cannot check your code, but I have created a small sample and it works fine
HTML
<asp:TreeView ID="TreeView1" runat="server" OnSelectedNodeChanged="OnSelectedNodeChanged">
<SelectedNodeStyle ForeColor="Black" />
</asp:TreeView>
<asp:Button ID="Button1" runat="server" Text="GetSelectedNode" OnClientClick="return GetSelectedNode();" />
VB.Net
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
TreeView1.Nodes.Add(New TreeNode("Mango", "Fruit1"))
TreeView1.Nodes.Add(New TreeNode("Apple", "Fruit2"))
TreeView1.Nodes.Add(New TreeNode("Pineapple", "Fruit3"))
TreeView1.Nodes.Add(New TreeNode("Orange", "Fruit4"))
TreeView1.Nodes.Add(New TreeNode("Grapes", "Fruit5"))
End If
End Sub
Protected Sub OnSelectedNodeChanged(sender As Object, e As EventArgs)
Dim text As String = TreeView1.SelectedNode.Text
End Sub
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TreeView1.Nodes.Add(new TreeNode("Mango", "Fruit1"));
TreeView1.Nodes.Add(new TreeNode("Apple", "Fruit2"));
TreeView1.Nodes.Add(new TreeNode("Pineapple", "Fruit3"));
TreeView1.Nodes.Add(new TreeNode("Orange", "Fruit4"));
TreeView1.Nodes.Add(new TreeNode("Grapes", "Fruit5"));
}
}
protected void OnSelectedNodeChanged(object sender, EventArgs e)
{
string text = TreeView1.SelectedNode.Text;
}