ASP NET CORE RAZOR PAGE BAKIM TEKNİK SERVİS PROJESİ 034 MAKİNE DELETE SAYFASI

Bu dersimizde de Makineler için makine bilgisi silme işlemini gerçekleştireceğimiz Delete sayfasının tasarımını ve code behind tarafındaki kodlarımı yazacağım.

Detaylı bilgi ve kod takibi için video eğitime mutlaka göz atınız.

Projemde Makineler klasörüme geliyor ve yeni bir razor page ekliyorum, adını da Delete verdim. Kullanıcı arayüzümün kodları, yani Delete.cshtml kodlarım:

@page
@model GRSYOto.Pages.cars.DeleteModel
@{
    ViewData["Title"] = "Delete";
    Layout = "~/Pages/Shared/_Layout.cshtml";
}


Delete Car


Code-Behind tarafındaki kodlarım, Delete.cshtml.cs içeriği:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using GRSYOto.Data;
using GRSYOto.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.EntityFrameworkCore;

namespace GRSYOto.Pages.cars
{
    [Authorize]
    public class DeleteModel : PageModel
    {
        private readonly ApplicationDbContext _db;

        [TempData]
        public string StatusMessage { get; set; }

        public DeleteModel(ApplicationDbContext db)
        {
            _db = db;
        }

        [BindProperty]
        public Car Car { get; set; }

        public async Task< IActionResult > OnGetAsync(int? id)
        {
            if (id == null)
            {
                return NotFound();
            }

            Car = await _db.Car.Include(c => c.ApplicationUser).FirstOrDefaultAsync(m => m.Id == id);

            if (Car == null)
            {
                return NotFound();
            }
            return Page();
        }

        public async Task< IActionResult > OnPostAsync()
        {
            if (Car == null)
            {
                return NotFound();
            }
            var userId = Car.UserId;

            _db.Car.Remove(Car);
            await _db.SaveChangesAsync();
            StatusMessage = "Car deleted successfully.";
            return RedirectToPage("./Index", new { userId });
        }
    }
}





Bir sonraki derste görüşmek üzere..

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir