title: Unsuccessful using .FindControl() on a div
body: <p>I have a html div element containing multiple divs with values that I want to put in an array server side!</p>
  
  <p>my html divs look something like:</p>
  
  <pre><code>&lt;div id="clientGrid" runat="server"&gt;
      &lt;div id="cell_0_0" runat="server" class="box" onclick="clicked(this)"&gt;2&lt;/div&gt;
      &lt;div id="cell_0_1" runat="server" class="box" onclick="clicked(this)"&gt;1&lt;/div&gt;
      &lt;div id="cell_0_2" runat="server" class="box" onclick="clicked(this)"&gt;3&lt;/div&gt;
      &lt;div id="cell_0_3" runat="server" class="box" onclick="clicked(this)"&gt;4&lt;/div&gt;
  
      &lt;div id="cell_1_0" runat="server" class="box" onclick="clicked(this)"&gt;3&lt;/div&gt;
      &lt;div id="cell_1_1" runat="server" class="box" onclick="clicked(this)"&gt;2&lt;/div&gt;
      &lt;div id="cell_1_2" runat="server" class="box" onclick="clicked(this)"&gt;4&lt;/div&gt;
      &lt;div id="cell_1_3" runat="server" class="box" onclick="clicked(this)"&gt;1&lt;/div&gt;
  
      &lt;div id="cell_2_0" runat="server" class="box" onclick="clicked(this)"&gt;4&lt;/div&gt;
      &lt;div id="cell_2_1" runat="server" class="box" onclick="clicked(this)"&gt;3&lt;/div&gt;
      &lt;div id="cell_2_2" runat="server" class="box" onclick="clicked(this)"&gt;2&lt;/div&gt;
      &lt;div id="cell_2_3" runat="server" class="box" onclick="clicked(this)"&gt;1&lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>i want the values of these divs to go into an array server side. My current code looks like this:</p>
  
  <pre><code>for (int i = 0; i &lt; _grid.getGridSize(); i++)
  {
      for (int j = 0; j &lt; _grid.getGridSize(); j++)
      {
          string divId = string.Format("cell_{0}_{1}", i.ToString(), j.ToString());
          Control div = clientGrid.findControl(divId);
          //more code underneath
      }
  }
  </code></pre>
  
  <p>so the div id's are generated by the string format, no problem...</p>
  
  <p>but the <code>clientGrid.findControl always = null</code>! even if i put the sting directly into the constructor like <code>clientGrid.findControl("cell_0_0");</code> it still returns NULL! How is this possible?</p>
  
  <p>It is my understanding the the <code>findControl</code> method finds server control elements with the string id?</p>
  
  <p>I can't access the child divs directly like <code>cell_0_0.clientID</code> because the child divs are generated by the server at runtime.</p>
  
  <p>on page load, this function is run...</p>
  
  <pre><code>    for (int i = 0; i &lt; _grid.getGridSize(); i++)
      {
          for (int j = 0; j &lt; _grid.getGridSize(); j++)
          {
              returnElement += " &lt;div ";
              returnElement += "id=\"cell_" + i + "_" + j + "\" ";
              returnElement += "runat=\"server\" ";
              returnElement += "tabindex=\"-1\" ";
              returnElement += "class=\"box\" ";
              returnElement += "onclick=\"clicked(this);\" ";
              returnElement += "onkeypress=\"changeValue(event, this);\" ";
              returnElement += "style=\"top:" + top + "%; left:" + left + "%;\"&gt;";
  
              returnElement += test[i, j];
  
              returnElement += "&lt;/div&gt;\n ";
  
              left = left + 20;
          }
          left = 0;
          top = top + 20;
      }
      return returnElement;
  </code></pre>
  
  <p>test[,] is a 2d array containing integer values. these divs are then put into clientGrid by clientGrid.innerHtml = allMyDivs</p>
  
  <p>The users then edits the values of these divs to whatever they want, and then when the user clicks a button, the values of these divs need to somehow end up back in the serverside code so i can process them.</p>
  
  <p>The clientGrid.control.count = 0 ... ??? so obviously... to the asp, these div elements do not exist... to asp.net... there is NOTHING inside the clientGrid div... but... the inspect element on my chrome browser says othervise! Whats Going On??</p>