It's hard to understand what you want to do , because if you have a modal that contains one property named NAME so how I understand you have a form and inside this form you a rendering same partial view with only property that you have , so what you are expected to get on POST method ? I thing you should change your modal to have a list of string like this:
public class Model
{
public IList<Name> Names{get;set;}
public Model()
{
Names=new List<Name>();
}
}
public class Name
{
[Required]
public string FirstName{get;set;
}
and now in view you can make something like this : View:
@{
Layout=null;
}
@model Model
@using (Ajax.BeginForm("Action", "Controller", null,
new AjaxOptions { HttpMethod = "POST"} ))
{
@Html.TextBoxFor(c=>c.Names[0].FirstName)
@Html.TextBoxFor(c=>c.Names[1].FirstName)
//and so on
<input type="submit" value="submitForm"/>
}
Do not forget to include all necessary scripts for mvc client validation . Hope this will help you .