I guess that the dynamic controls you are injecting into your form represent input elements that have specific names. If they don't then you probably should consider changing your code so that the dynamic controls you are inserting have names. You might take a look at the following article for an example: http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/
Once you have all the elements inside the form, submitting it is just a matter of the user clicking on the submit button. Your controller action will receive a view model with all the properties. And if you want to use AJAX and still redirect, you could set the window.location.href
property inside your AJAX success callback to the desired url you are willing to redirect.