I would personally use Javascript to dynamically add new inputs, but if you must use ASP you can either pass parameters via the query string or hidden fields that tell your script to write out new text fields. Ex: the url of the page where the text field is to be written to the page could be ./mypage.asp. You could then set the onclick of a button to "window.location='./mypage.asp?NEWFIELD=Y'". Your script would then to check for a value for NEWFIELD, by using Request.QueryString("NEWFIELD"), and when it ="Y" you would create a new field. Obviusly there are many different ways to go about this, but this is one of them.