Lendo o valor do elemento HTML gerado dinamicamente em code-behind no ASP.NET

Eu tenho uma página asp.net onde eu tenho a marcação abaixo. Basicamente, essa marcação é gerada a partir do código, lendo registros de uma tabela e percorrendo-os. Para cada registro na tabela, haverá um bloco div.

Basicamente, este formulário é para ler / mostrar configurações para um usuário. As entradas de configurações são armazenadas em uma tabela.

<div id='divContainer' runat='server'>

 <div id='div1' runat='server'>
    <table>
      <tr>
        <th>Name</th>
        <td><input type='text' id='txtName1' value='something' /></td>
      </tr>
       </table>
 </div>
 <div id='div2' runat='server'>
    <table>
      <tr>
        <th>Domain name</th>
        <td><input type='text' id='txtName2' value='something' /></td>
      </tr>
     </table>
 </div>
 <div id='div3' runat='server'>
    <table>
      <tr>
        <th>URL</th>
        <td><input type='text' id='txtName3' value='something' /></td>
      </tr>
      </table>
 </div>
 <div id='div4' runat='server'>
    <table>
      <tr>
        <th>Some other value is enabled ?</th>
        <td><input type='checkbox' id='chk4'  /></td>
      </tr>
      </table>
 </div>

</div>

Os IDs de cada elemento de entrada serão exclusivos. Agora, no código abaixo, quero ler os valores de cada elemento de entrada para salvar as alterações feitas pelo usuário. Como posso ler os elementos aqui? Como a marcação é gerada no codebehind como uma string e anexada ao HTML INNER da div externa, não consigo ler valores como fazemos para um controle que arrastamos e soltamos no IDE.

questionAnswers(5)

yourAnswerToTheQuestion