My users currently have a view where they have to select what happens to each part. (harvest/transfer/dispose). After the user makes their selection I want them to be given a summary page of what they just selected.
Here is my view for the summary Page
@model PIC_Program_1._0.Models.ItemViewModel
@using PIC_Program_1._0.Models
@{
    ViewBag.Title = "SpecialOrderSummary";
}
@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
    @*@Html.HiddenFor(model => model.ID)*@
    @Html.HiddenFor(x => x.ID)
    <h2>Special Order Summary</h2>
    <p style="color:red" class="noprint">Please review and verify </p>
    <h2>
        Transfers
    </h2>
    <h3> 
    Parts 
    </h3>
    foreach (var part in Model.Parts)
    {
    <p>@part.PartName</p>
    }
}
I tried doing a POST that then called the summary page that looks like this
        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult SpecialOrderSelection(JobOrder job, ItemViewModel model)
        {
            //list of transfers
            //list of harvests
            //list of disposals      
            if (ModelState.IsValid)
            {
                // do whatever with 'model' and return or redirect to a View
            }
            return SpecialOrderSummary(model);
        }
Here is my ViewModel for reference,
    public class ItemViewModel
    {
        [Required]
        public int ID { get; set; }
        public string ItemId { get; set; }
        public string ItemName { get; set; }
        public string MFGNumber { get; set; }
        public IList<ItemPartViewModel> Parts { get; set; }
        public IList<ItemComponentViewModel> Components{ get; set; }
        public IList<ComponentPartViewModel> ComponentParts { get; set; }
        public IList<ComponentSubCompViewModel> ComponentSubComps { get; set; }
        public IList<SubCompPartViewModel> SubCompParts { get; set; }
        public IList<SubCompSubCompViewModel> SubCompSubComps { get; set; }
        public IList<SubCompSubCompPartViewModel> SubCompSubCompParts { get; set; }
    }
But this doesn't work as it just is reloading the same 'SpecialOrderSelection' page again. I have read that it would probably be best to post the ViewModel through AJAX instead of doing a form post that way I avoid having to refetch all of the data in the ViewModel. But I'm not sure how to accomplish this. Any help is appreciated.
Heres what I tried doing
 $(document).ready(function () {
        $("button").click(function () {
            $.ajax({
                url: '@IGT.baseUrl/JODetails/SpecialOrderSummary',
                data: $('#form').serialize(),
                type: 'POST',
            });
        });
     }); //getting green line that says ',' expected on this line
