Amigo, eu faria isso utilizando um Framework de JavaScript, você pode fazer facilmente com Jquery, Knockout ou AngularJs (este é meu favorito).
Um exemplo com Knockout, funcionando:
http://jsfiddle.net/nonsense66/vc9AE/5/
Com Jquery
$("#div").append('<div><input type="text" name="nome" value="Seu valor"/></div>');
Com AngularJs é necessário utilizar a diretiva $compile.
No seu caso, você traria um objeto já preenchido com label e quaisquer outros campos da sua API ou controller MVC mesmo. Faria um loop nele e adicionaria os inputs um a um.
Abraço