The checked nodes can be easily fetched server side without any issues. Below is a sample for you
HTML
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:TreeView ID="TreeView1" runat="server" ShowCheckBoxes="All">
</asp:TreeView>
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" />
</form>
</body>
</html>
Code
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
TreeNode node = new TreeNode("Mango", "1");
TreeView1.Nodes.Add(node);
node = new TreeNode("Grapes", "2");
TreeView1.Nodes.Add(node);
node = new TreeNode("Apple", "3");
TreeView1.Nodes.Add(node);
node = new TreeNode("Banana", "4");
TreeView1.Nodes.Add(node);
node = new TreeNode("Pineapple", "5");
}
}
protected void Button1_Click(object sender, EventArgs e)
{
foreach (TreeNode node in TreeView1.Nodes)
{
bool isChecked = node.Checked;
}
}