If you're looking at webforms, you're used to adding these new controls programmatically to your code. Using ASP.NET MVC, you better do this with javascript.
It should be trivial to write a javascript function that adds FirstName1, FirstName2, FirstName3, etc. In the Controller, check Request.Form.AllKeys to determine how many fields have been added by the user.
You can also iterate over a number in a hidden field called "txtNumFields" and then use this as your control value in a for loop:
int numFields = int.Parse(Request.Form["txtNumFields"]); for (i==0;i<numFields ;i++) { string firstName = Request.Form["FirstName" + i.ToString()]; ... }
source share