post, delete

main
Peace 11 months ago
parent 38a0af9925
commit 29a21d7bae
  1. BIN
      WebUIWithRazor/ContosoPizza.db-shm
  2. BIN
      WebUIWithRazor/ContosoPizza.db-wal
  3. 40
      WebUIWithRazor/Pages/PizzaList.cshtml
  4. 23
      WebUIWithRazor/Pages/PizzaList.cshtml.cs

@ -6,6 +6,38 @@
<h1>Pizza List 🍕</h1>
<form method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="NewPizza.Name" class="control-label"></label>
<input asp-for="NewPizza.Name" class="form-control" />
<span asp-validation-for="NewPizza.Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="NewPizza.Size" class="control-label"></label>
<select asp-for="NewPizza.Size" class="form-control" id="PizzaSize">
<option value="">--- Select Size ---</option>
<option value="Small">Small</option>
<option value="Medium">Medium</option>
<option value="Large">Large</option>
</select>
<span asp-validation-for="NewPizza.Size" class="text-danger"></span>
</div>
<div class="form-group form-check">
<label class="form-check-label">
<input class="form-check-input" asp-for="NewPizza.IsGlutenFree" /> @Html.DisplayNameFor(model => model.NewPizza.IsGlutenFree)
</label>
</div>
<div class="from-group">
<label asp-for="NewPizza.Price" class="control-label"></label>
<input asp-for="NewPizza.Price" class="form-control" />
<span asp-validation-for="NewPizza.Price" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</form>
<table class="table mt-5">
<thead>
<tr>
@ -25,11 +57,15 @@
<td>@pizza.Size</td>
<td>@(pizza.IsGlutenFree ? "✔" : string.Empty)</td>
<td>
<form method="post" asp-asp-page-handler="Delete" asp-route-id="@pizza.Id">
<form method="post" asp-page-handler="Delete" asp-route-id="@pizza.Id">
<button class="btn btn-danger">Delete</button>
</form>
</td>
</tr>
}
</tbody>
</table>
</table>
@section Scripts {
<partial name="_ValidationScriptsPartial" />
}

@ -8,7 +8,10 @@ namespace ContosoPizza.Pages
public class PizzaListModel : PageModel
{
private readonly PizzaService _service;
public IList<Pizza> PizzaList { get; set; } = default;
public IList<Pizza> PizzaList { get; set; } = new List<Pizza>();
[BindProperty]
public Pizza NewPizza { get; set; } = default;
public PizzaListModel(PizzaService service)
{
@ -19,5 +22,23 @@ namespace ContosoPizza.Pages
{
PizzaList = _service.GetPizzas();
}
public IActionResult OnPost()
{
if (ModelState.IsValid && NewPizza != null)
{
_service.AddPizza(NewPizza);
}
return RedirectToAction("Get");
}
public IActionResult OnPostDelete(int id)
{
_service.DeletePizza(id);
return RedirectToAction("Get");
}
}
}

Loading…
Cancel
Save