I've been looking for similar questions in here but still couldn't find a solution to my problem.
I have a page that contains some text and a form and they both share the same ViewModel as follows:
public class MyViewModel
 {
   public IEnumerable<WordingB> WordingBs { get; set; }
   public IEnumerable<WordingC> WordingCs { get; set; }
   public IEnumerable<Question> Questions { get; set; } 
}
Here's a bit more detail about WordingB, WordingC and Question:
public class WordingB
    {           
        public string EOW { get; set; }
    }
public class WordingC
    {           
        public string EOW { get; set; }
    }
public class Question
    {           
        public string QuestionText { get; set; }
        public string Answer {get; set;}
    }
And this is the page in question:
@model MyProject.ViewModels.MyViewModel   
<div class="col-md-6 masonry listview-block">
    @foreach (var wording in Model.WordingBs)
    {
        <div class="block">                
            <p>@Html.Raw(@wording.EOW)</p>
        </div>
    }
    @foreach (var wording in Model.WordingCs)
    {
        <div class="block">              
            <p>@Html.Raw(@wording.EOW)</p>
        </div>
    }
</div>
@using (Ajax.BeginForm("Routing", "Partials", new AjaxOptions { UpdateTargetId = "Target", LoadingElementId = "spinner", HttpMethod = "POST", InsertionMode = InsertionMode.Replace }))
{
            <div id="quick-post" class="block-body form-validation">
                @foreach (var question in Model.Questions)
                {
                    <div class="form-group">
                        <label for="QuestionText">@question.QuestionText</label>
                        <input type="text" class="form-control input-sm input-sm" name="Answer">
                    </div>
                }
                <div class="form-group">
                    <label for="postcode">PostCode</label>
                    <input type="text" class="form-control input-sm validate[required] input-sm" name="postcode" value=@Request.QueryString["postcode"]>
                </div>
                <div class="form-group">
                    <label>Loss Description</label>
                    <textarea></textarea>
                </div>
                <input type="submit" class="btn btn-primary btn-xs" value="Route">
            </div>
        </div>
    </div>
}
The idea is that some Admin person is able to add questions to the form. (questions are stored in a table) There's a controller that uses the MyViewModel and returns the model that I need to the view.
 public ActionResult EOW()
        {
            QuestionsandWording viewModel = new QuestionsandWording();
            viewModel.Questions = // first query
            viewModel.WordingBs = // second query
            viewModel.WordingCs = // third query
            return View(viewModel);
        }
The problem that I am facing now is passing the data from my form to a controller. The form can have zero to 30 or 40 questions as far as I'm concerned! I feel like I've hit the limit of my knowledge and I'm in serious need of advice.
 
     
     
     
    