Lectura de valor de elemento HTML generado dinámicamente en código subyacente en ASP.NET

Tengo una página asp.net donde tengo el siguiente marcado. Básicamente, este marcado se genera a partir del código subyacente al leer registros de una tabla y recorrerlos en bucle. Para cada registro en la tabla, habrá un bloque div.

Básicamente, este formulario es para leer / mostrar la configuración de un usuario. Las entradas de configuración se almacenan en una tabla.

<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>

Los id de cada elemento de entrada serán únicos. Ahora en codebehind quiero leer los valores de cada elemento de entrada para guardar los cambios realizados por el usuario. ¿Cómo puedo leer los elementos aquí? Dado que el marcado se genera en código detrás como una cadena y agrega el HTML INTERIOR del div externo, no puedo leer valores como lo hacemos para un control que arrastramos y soltamos en el IDE.

Respuestas a la pregunta(5)

Su respuesta a la pregunta