Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Троелсен Эндрю, "Язык программирования C#9 и платформа .NET5" бесплатно, без регистрации.
Методы действий Edit()
В рамках процесса редактирования используются два метода действий: первый (
HttpGetHttpPutМетод действия Edit() для GET
Метод действия
Edit()GETCarIdEdit[HttpGet("{id?}")]public IActionResult Edit([FromServices] IMakeRepo makeRepo, int? id){ var car = GetOneCar(id); if (car == null) { return NoContent(); } ViewData["MakeId"] = GetMakes(makeRepo); return View(car);}Маршрут имеет необязательный параметр
ididIMakeRepoSelectListMakeGetOneCar()CarCarNoContentSelectListMakeViewDataEditФорму редактирования можно просмотреть по ссылке
/Cars/Edit/1
Метод действия Edit() для POST
Метод действия
Edit()POSTCreate()POST[HttpPost("{id}")][ValidateAntiForgeryToken]public IActionResult Edit([FromServices] IMakeRepo makeRepo, int id, Car car){ if (id != car.Id) { return BadRequest(); } if (ModelState.IsValid) { _repo.Update(car); return RedirectToAction(nameof(Details),new {id = car.Id}); } ViewData["MakeId"] = GetMakes(makeRepo); return View(car);}Метод действия
Edit()POSTidIdCarBadRequestDetails()IdCarЕсли состояние модели не является допустимым, то список
SelectListMakeViewDataEditПредставление Delete
Создайте в каталоге
ViewsCarsDelete.cshtml@model Car@{ ViewData["Title"] = "Delete";}<h1>Delete @Model.PetName</h1><h3>Are you sure you want to delete this car?</h3><div> @Html.DisplayForModel() <form asp-action="Delete"><b> <input type="hidden" asp-for="Id" /></b><b> <input type="hidden" asp-for="TimeStamp" /></b> <button type="submit" class="btn btn-danger"> Delete <i class="fas fa-trash"></i> </button> | <item-list></item-list> </form></div>В представлении
Delete@Html.DisplayForModel()IdTimeStamp