ASP.NET Core Kitap Listeleme Projesi Ders 05

Bu dersimizde de yeni bir kitap eklemek için gerekli olan razor sayfamızı ekleme ile yolumuza devam edelim. KitapListesi klasörüme sağ tıklıyor ve add dseçip Razor Page ekleme işlemi yapıyorum. Yine sayfamız partial view olmayacak. Layout kullanacak ve page model oluşturulsun şeklinde seçtim. Sayfamın adını da Olustur verdim.

Şimdi benim bu sayfamın kullanıcı ara yüzünde kullanıcının kitap adını ve yazar adını girebileceği textboxlarım olacak. Bu sayfada bir veri listeleme işlemi olmayacak. Olustur.cshtml.cs içine geliyor ve kodlarımı yazıyorum:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using KitapListesiProjesi.Models;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

namespace KitapListesiProjesi.Pages.KitapListesi
{
    public class OlusturModel : PageModel
    {
        private readonly KLDbContext _db;

        public OlusturModel(KLDbContext db)
        {
            _db = db;
        }

        public Kitap Kitap { get; set; }

        public void OnGet()
        {

        }
    }
}

Şimdi daha sonradan da değişiklik, ekleme yapabileceğimizi göstermek adına şöyle yapalım. Kitap modelimize gidelim ve bir property daha ekleyelim.

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;

namespace KitapListesiProjesi.Models
{
    public class Kitap
    {
        [Key]
        public int Id { get; set; }

        [Required]
        public string KitapAd { get; set; }
        public string Yazar { get; set; }
        public string ISBN { get; set; }
    }
}

Peki bunu ekledik bitti mi hayır. Database üzerine değişikliği yansıtmam gerek, bunun için yeni bir migration oluşturmalıyım. Package manager consola geliyor ve yeni bir migration ekliyorum.

add-migration ISBNEkleKitapTablosuna

Sonra database güncellemek için yine package manager console kısmında komut yazmam gerek.

update-database diyorum.

İşlemim gerçekleşiyor ve artık veritabanı kısmında Kitap tabloma ISBN kolonunu ekledim.

Şimdi kitapların listelenmesini sağlayan KitapListesi klasörü altında yer alan Index.cshtml’e geliyor ve kodlarımı düzenliyorum. Çünkü ISBN alanım burada henüz yok.

@page
@model KitapListesiProjesi.Pages.KitapListesi.IndexModel



Kitap Listesi

@'if' (Model.Kitaplar.Count()>0) { < table class="table table-striped border"> < tr class="table-secondary"> < th> < /th> < th> @*@Html.DisplayNameFor(a => a.Kitaplar.FirstOrDefault().Yazar)*@ < /th> < th> < /th> < th>İŞLEMLER< /th> < /tr> @foreach(var item in Model.Kitaplar) { < td> @Html.DisplayFor(a => item.KitapAd) < /td> < td> @Html.DisplayFor(a => item.Yazar) < /td> < td> @Html.DisplayFor(a => item.ISBN) < /td> < td> Düzenle < /td> < /tr> } < /table> } else {

Listelenecek kitap bulunamadı...

}

Not: Dersin video versiyonunu mutlaka izleyiniz.

Şimdi gelelim bunun kullanıcı arayüz sayfasına ilişkin kodlarımızı yazmaya. Olustur.cshtml için kodlarım:

page
@model KitapListesiProjesi.Pages.KitapListesi.OlusturModel


Yeni Kitap Ekle


Ekran çıktımız nasıl olmuş görelim:

Dersimiz şimdilik bu kadar, kodları daha iyi görmeniz için video eğitimi izlemenizi öneriyorum. Bi sonraki derste görüşmek üzere.

Bir cevap yazın

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