Hi,
In asp.net when postback happen all dynamic controls disappears. To retain dynamic control you have to deal with javascript/jquery.
eg.,
<script>
$('#button2').click(function(){
var txt = document.createElement('input');
txt.setAttribute('type', 'txt');
txt.setAttribute('id', 'txt1');
$('#div').appendChild(txt);
});
</script>