You can use a css class for treenodes, Insert the content for the popup within a hidden div to each TreeNode during databound event from database and use jquery or javascript to display the divs content on hover.
Heres a sample.
<asp:TreeView ID="LinksTreeView" runat="server" OnTreeNodeDataBound="Data_Bound" >
<NodeStyle CssClass="TreeItem" />
</asp:TreeView>
Please take note of the NodeStyle added. The CSS class 'TreeItem' gets added to anchor tags rendered for each node of treeview. We later use this class to add hover function to node using jquery.
Add a hidden div with required content to Node.text during databound event.
void Data_Bound(Object sender, TreeNodeEventArgs e)
{
string Description = GetDescriptionByIdFromDB(Node.value);
string Prefix = "<div style='display:none;' class='content'>" + Description + " </div>";
e.Node.Text = Prefix + e.Node.Text;
}
The following script will alert the contents of the div added to Node.Text. Please customize it for your needs. The script searches inside the anchor tag hovered for a div with class 'content' and alerts its innerHTML.I have used jquery here because it was easier for me. The same thing can be done using javascript.
<script type="text/javascript">
$(document).ready(function() {
$('a.TreeItem').hover(function() {
alert($($(this).find('div.content')).html());
});
});
</script>
Hope this helps.