title: Checkbox not visible on nodes of TreeView control when deployed in IIS
body: <p>I am facing issue with regards to the <code>TreeView</code> control. I have checkbox enabled for nodes of <code>TreeView</code> control. It is working fine and showing properly. But when I deploy same to IIS, checkbox is not visible there. It is not rendered at all.
  Below is the <code>TreeView</code>:</p>
  <pre><code>&lt;asp:TreeView id=&quot;tvExplicit&quot;
          EnableClientScript=&quot;true&quot;
          PopulateNodesFromClient=&quot;true&quot;  
          ExpandDepth=&quot;0&quot; 
          ShowLines=&quot;true&quot; 
          ShowExpandCollapse=&quot;true&quot;
          ShowCheckBoxes=&quot;Root&quot;
          OnTreeNodePopulate=&quot;tvExplicit_TreeNodePopulate&quot;
          Width=&quot;1px&quot;
          runat=&quot;server&quot;&gt;
  
      &lt;Nodes&gt;
      &lt;/Nodes&gt;
  
    &lt;/asp:TreeView&gt; 
  </code></pre>
  <p>This code is working fine on my local machine. But not when deployed on IIS. Everything works except showing checkboxes for root nodes.</p>
  <p><strong>Note</strong>: Checkboxes are not rendered as HTML at all. So it is not CSS blocking it as per me</p>
  <p><strong>Update</strong> : I was able to figure out that previous version of the page is cached in IIS and not being reset even after APP pool was reset.</p>
  <p><strong>2nd Update</strong>: Client Id of checkboxes in localhost is <code>ctl00_MainContent_tvExplicitn0CheckBox</code>, <code>ctl00_MainContent_tvExplicitn1CheckBox</code>,etc. So can it be the reason of the issue.
  One more thing that I noticed is the difference in client ID's generated for the controls in localhost and in server deployed to IIS.
  Below is the rendered <code>&lt;a&gt;</code> which is part of treeview control in both:</p>
  <ol>
  <li>IIS: <code>MainContent_tvExplicitt0</code>,<code>MainContent_tvExplicitt1</code> this is ID of treeview node link</li>
  <li>LocalHost: <code>ctl00_MainContent_tvExplicitt0</code>,<code>ctl00_MainContent_tvExplicitt2</code>,etc</li>
  </ol>
  <p>So can the issue be related to how controls are actually being rendered in different environments viz my localhost and IIS server.
  In localhost, <code>.Net 3.5 framework</code> is there and in IIS server <code>.Net 4</code> . So can it be due to this as <code>client ID</code> generation is different in both versions.</p>
  <p><strong>3rd Update</strong>
  Also, I changed framework version to <code>.net 4</code> in <code>localhost</code>, but it didn't reproduce the issue.It also did add <code>controlRenderingCompatibilityVersion=&quot;3.5&quot;</code> in web.config. Then I deployed same code to IIS, and I got an error that <code>controlRenderingCompatibilityVersion</code> is not a valid tag. Does it mean <code>IIS</code> server is not running on <code>.net 4</code>.I don't have access to IIS server myself.</p>
  <p><strong>4th Update:</strong>
  Application is configured with <code>.net 4</code> version in IIS.</p>
  <p><strong>5th Update</strong>
  I deployed same build to another IIS server on different machines(these were our old servers on which our application was running). And checkboxes are visible on that. Version of .net framework is same as that on the one facing issues.
  Asked the relevant team to update same settings as in these servers to servers on which are facing issue. Still it didnt help. So, it does seem to be issue with how website is configured on new servers where checkboxes are not visible</p>