在编辑页面上显示已选中/选中的项目
所以我有这个页面,用户可以选择两个不同类别(案例和派对)的项目。 当用户创建访问(计划)时,他们可以从案例类别中选择一个或多个项目并选择某些方。 然后他们根据选择保存信息。 当我转到此创建计划的编辑页面时,我希望在创建页面中为已选择和保存的项目标记复选框。 我不确定我是否错过了传递的参数或我需要显示所选项目。
我的创建获取和发布代码(保存包含选择的信息)
[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(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); }
这是我的编辑获取和发布方法。
[HttpGet] public ActionResult Edit(Guid visitEntryId) { VisitEntry dto = _visitEntryService.Get(visitEntryId); if (dto == null) return View("Error"); VisitViewModel viewModel = Mapper.Map(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(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}); }
此方法加载派对信息:
IList caseParties = _associatedCasePartyService.GetAssignedPartiesForThisAndAssociatedCases(viewModel.CaseId, _currentUser.OfficeId); if (caseParties != null) viewModel.AvailableCaseParties = caseParties;
这是我的viewModel:
public class VisitViewModel { public IEnumerable AvailableCaseParties { get; set; } public IList PartiesSelected { get; set; } }
VisitForm.ascx包含字段展示位置:
Parties.ascx – 其中包含允许检查框的行以及何时完成,并编辑该页面加载的条目以及除已检查方之外的所有已保存信息:
上述就是C#学习教程:在编辑页面上显示已选中/选中的项目分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
0) {%>
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/984389.html