Se muestran los elementos comprobados y / o seleccionados como se comprobó en la página de edición

Así que tengo esta página donde el usuario puede seleccionar elementos para dos categorías diferentes (Casos y Partes). Cuando un usuario crea una visita (horario) que podían seleccionar el artículo o los artículos en la categoría Casos y seleccionar ciertas partes. Luego guardan la información basada en las selecciones. Cuando voy a la página de edición de este programa creado me gustaría tener marcadas las casillas de verificación para los elementos que se seleccionaron y se guardan durante la creación de la página. No estoy seguro de si me falta hasta los parámetros que se pasan alrededor o lo que necesito para mostrar los elementos seleccionados.

mi (información que contiene selecciones de ahorro) crean Obtener y Código postal

[HttpGet]
    public ActionResult Create(Guid caseId)
    {
        var viewModel = new VisitViewModel();
        SetCaseFields(caseId, viewModel);
        viewModel.Time = _defaultVisitTime;
        AddLookupsToViewModel(viewModel);
        return View(viewModel);

    }

[HttpPost]
    public ActionResult Create(VisitViewModel viewModel, Guid[] associatedCasesSelected, Guid[] selectedParties)
    {
        if (!ModelState.IsValid)
        {
            viewModel.Time = _timeEntryHelper.Value;
            AddLookupsToViewModel(viewModel);
            return View(viewModel);
        }
        VisitEntry dto = Mapper.Map<VisitViewModel, VisitEntry>(viewModel);
        dto.VisitDate = _timeEntryHelper.AddTimeToDate(dto.VisitDate);
        dto.CasePartyIds = selectedParties;
        dto.Cases = associatedCasesSelected;
        SetCurrentUserAndOffice(dto);
        try
        {
            _visitEntryService.Create(dto, dto.Cases);
            this.FlashInfo(string.Format(Message.ConfirmationMessageCreate, Resources.Entities.Visit.EntityName));
        }
        catch (RulesException ex)
        {
            ex.CopyTo(ModelState);
        }
        if (ModelState.IsValid)
            return RedirectToAction("Edit", "Case", new { caseId = viewModel.CaseId });
        return View(viewModel);
    }

Este es mi método Editar y Publicar.

[HttpGet]
    public ActionResult Edit(Guid visitEntryId)
    {
        VisitEntry dto = _visitEntryService.Get(visitEntryId);
        if (dto == null) return View("Error");
        VisitViewModel viewModel = Mapper.Map<VisitEntry, VisitViewModel>(dto);
        SetCaseFields(dto.CaseId, viewModel);
         AddLookupsToViewModel(viewModel);
        return View(viewModel);}

[HttpPost]
        public ActionResult Edit(VisitViewModel viewModel, Guid[] associatedCasesSelected, Guid[] selectedParties)
        {
            if(!ModelState.IsValid)
            {
                viewModel.Time = _timeEntryHelper.Value;
                AddLookupsToViewModel(viewModel);
                return View(viewModel);
            }

            try
            {
                VisitEntry dto = Mapper.Map<VisitViewModel, VisitEntry>(viewModel);
                dto.VisitDate = _timeEntryHelper.AddTimeToDate(dto.VisitDate);
                dto.CasePartyIds = selectedParties;
                dto.Cases = associatedCasesSelected;
                SetCurrentUserAndOffice(dto);
                _visitEntryService.Update(dto, dto.Cases);
            }
            catch (RulesException ex)
            {
                ex.CopyTo(ModelState);
            }

            if (!ModelState.IsValid)
            {
                viewModel.Time = _timeEntryHelper.Value;
                AddLookupsToViewModel(viewModel);
                return View(viewModel);
            }
            this.FlashInfo(string.Format(Message.ConfirmationMessageUpdate, Kids.Resources.Entities.Visit.EntityName));
            return RedirectToAction("Edit", "Case", new {caseId = viewModel.CaseId});

        }

Este método carga partido Info:

IList<Party> caseParties =
            _associatedCasePartyService.GetAssignedPartiesForThisAndAssociatedCases(viewModel.CaseId,
                                                                                    _currentUser.OfficeId);
        if (caseParties != null)
            viewModel.AvailableCaseParties = caseParties;

Este es mi modelo de vista:

public class VisitViewModel 
{
    public IEnumerable<Party> AvailableCaseParties { get; set; }
    public IList<Guid> PartiesSelected { get; set; }
}

VisitForm.ascx que contienen campos de colocaciones:

<%Html.RenderPartial("Parties", Model); %>

Parties.ascx - que contiene la fila para permitir el control de la caja y cuando se hace así y vaya a editar la entrada de la página se carga con toda la información guardada, excepto las partes controladas:

 <% if (Model.AvailableCaseParties != null && Model.AvailableCaseParties.Count() > 0)
     {%>
         <div class="row">
         <fieldset>
         <legend>Parties</legend>
         <div>
                                            <%=Html.Grid(Model.AvailableCaseParties).Attributes(id => "PartiesGrid").Columns(
         column =>
           {
             column.For(party =>
             string.Format("<input type='checkbox' {1} name='selectedParties' value='{0}'/>",
                                                                                 party.PartyId, Model.PartiesSelected != null &&  Model.PartiesSelected.Count(p => p == party.PartyId) > 0 ? "checked" : string.Empty)).Encode(false).Header(string.Format("<TH><input type='checkbox' name='checkSelect'/></TH>"));

         column.For(party => party.FullName).Named(Kids.Resources.Entities.Party.EntityName);
                                                    }
                                                                  ).Empty(string.Format("No {0}", Kids.Resources.Entities.Party.EntityNamePlural))
                  %>
               </div>
          </fieldset>
     </div>

Respuestas a la pregunta(0)

Su respuesta a la pregunta