c# Web

Derslere Ait Başarı Durumunu Model Tasarlayarak Listeleyen Core Mvc Uygulaması

Tablolar web sayfalarının en önemli özelliklerindendir. Tabloları tasarlamak için css özelliklerini kullanabilirsiniz. Html5 etiketlerinin yeni gelen özellikleriyle tablo tasarımını rahatlıkla yapabilirsiniz. Bu uygulamamızda bir okulda okutulan 5 dersin adını, başarılı öğrenci sayısını, başarısız öğrenci sayısını listeleyeceğiz. Bu işlemleri Core Mvc teknolojisinde model binding kullanarak yapacağız.

Visual Studio 2022 programını açalım.

Yeni bir boş Core projesi oluşturalım. İsmini DersListesi olarak belirleyelim.

Temel ayarların yapıldığı program.cs dosyasını düzenleyelim.

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddMvc();
var app = builder.Build();

app.UseDefaultFiles();
app.UseStaticFiles();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}"
    );

app.Run();

Projeyi çalıştıralım. Controller bulunamadığı için hata verecektir. Öncelikle MVC projesi için gerekli olan klasörleri oluşturalım. Projemizi çalıştıralım. Controllers panelinde dosya olmadığı için hata verecektir.

Şimdi Controllers klasörü içine HomeController dosyasını oluşturalım. Aşağıdaki gibi bir action metodu oluşturulacaktır. Bu metod Index() isimli view dosyasını döndürecektir.

        public IActionResult Index()
        {
            return View();
        }

Break point atalım. Projeyi çalıştıralım. Index() isimli metod çalıştırılacak ancak bu dosya Views klasöründe olmadığı için hata verecektir. Şimdi Views klasörü altında Home klasörünü, bunun altında Index dosyasını oluşturalım. Bu işlemi gerçekleştirmek için şu yolu takip edelim. HomaController sayfasında Index() metodunun içindeyken farenin sağ tuşuna basalım. Ekrana gelen içerik menüsünden Add View komutunu çalıştıralım. Çıkan form sayfasında Razor View seçeneğini seçelim ve Add butonuna basalım. Gelen ekranda Use a layout page onay kutusunu kaldıralım. Add diyerek işlemi tamamlayalım. Bu yöntemi kullanarak Views klasöründe hem Home isminde bir klasör oluşturacağız hem de view sayfası html kodlarının tamamını gösterir şekilde ekrana gelecektir.

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Başarı Tablosu</title>
</head>
<body>
</body>
</html>

Projeyi çalıştıralım. Proje hatasız bir şekilde çalıştırılır. Projede bootstrap ve jquery kütüphanelerini yüklemek için wwwroot klasörünü ekleyelim. Projeye bootstrap eklemek için proje isminin üzerinde farenin sağ tuşuna basalım. Ekrana gelen içerik menüsünden Add diyelim. Burada yer alan komutlardan Client-Side Library komutunu çalıştıralım. Ekrana gelen form sayfasında library kutusuna bootstrap yazalım. Install diyerek kurulum işlemini tamamlayalım. Aynı komutu kullanarak projeye jquery kütüphanesini de ekleyelim. Index view dosyasına bootstrap ve jquery kütüphanelerini dahil edelim.

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Başarı Tablosu</title>
    <link href="~/lib/bootstrap/css/bootstrap.min.css" 
rel="stylesheet" />
    <script src="~/lib/jquery/jquery.min.js"></script>
    <script src="~/lib/bootstrap/js/bootstrap.min.js">
</script>
</head>
<body>
</body>
</html>

Projeyi çalıştıralım. Kütüphanelerin projeye hatasız bir şekilde eklendiğinden emin olalım. Öncelikle derslere ait gerekli bilgilerin tutulacağı Models tasarımını yapalım. Amacımız oluşturduğumuz modele ait tüm özellikleri hem view hem de controller tarafında kullanabilmek. Şimdi Models klasörü altına Dersler isminde bir class oluşturalım. Dosyanın içeriği aşağıdaki gibi olacaktır.

    public class Dersler
    {
        public int id { get; set; }
        public string dersAdi { get; set; }
        public int gecenSayisi { get; set; }
        public int kalanSayisi { get; set; }
    }

Bu kalıba göre verileri almış olacağız. Şimdi controller tarafında dersler listesini oluşturalım. İçine 5 adey değer girelim.

        public IActionResult Index()
        {
            var liste = new List<Dersler>
            {
                new Dersler{id=1, 
dersAdi="Matematik", gecenSayisi=20, 
kalanSayisi=12},
                new Dersler{id=2, 
dersAdi="Fizik", gecenSayisi=8, 
kalanSayisi=24},
                new Dersler{id=3, 
dersAdi="Kimya", gecenSayisi=15, 
kalanSayisi=17},
                new Dersler{id=4, 
dersAdi="Edebiyat", gecenSayisi=25, 
kalanSayisi=7},
                new Dersler{id=5, 
dersAdi="İngilizce", gecenSayisi=22, 
kalanSayisi=10}
            };
            return View(liste);
        }

Şimdi bu değerleri göndereceğimiz view dosyasını düzenleyelim.

@model List<DersListesi.Models.Dersler>

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Başarı Tablosu</title>
    <link href="~/lib/bootstrap/css/bootstrap.min.css"
          rel="stylesheet" />
    <script src="~/lib/jquery/jquery.min.js"></script>
    <script src="~/lib/bootstrap/js/bootstrap.min.js">
    </script>
</head>
<body>
    <ul>
        @foreach(var liste in Model)
        {
            <li>@liste.dersAdi</li>
        }
    </ul>
</body>
</html>

Projeyi çalıştırdığımızda derslerin listesini ekranda görürüz. Bizim yapacağımız işlem ise verileri tablo şeklinde listelemek olacaktır. Tablo tasarımımızı aşağıdaki gibi yapalım.

    <div class="container mt-3">
        <table class="table table-info table-hover 
caption-top">
            <caption><h2 class="text-center">
Derslere Ait Başarı Tablosu</h2></caption>
            <thead class="table-dark">
                <tr>
                    <th>Id</th>
                    <th>Ders Adı</th>
                    <th>Geçen Sayısı</th>
                    <th>Kalan Sayısı</th>
                </tr>
            </thead>
            <tbody>
                @foreach (var liste in Model)
                {
                    <tr>
                        <td>@liste.id</td>
                        <td>@liste.dersAdi</td>
                        <td>@liste.gecenSayisi</td>
                        <td>@liste.kalanSayisi</td>
                    </tr>
                }
            </tbody>
        </table>
    </div>

Projeyi çalıştırdığımızda tablomuz ekrana gelecektir. Şimdi aşağıdaki işlemleri siz gerçekleştirin.

Başarılı ve başarısız öğrencilerin oranlarını tabloya ekleyiniz.

Tüm derslere göre başarı ortalamasını tablonun altında gösteriniz.

Seçilen derse ait başarı durumunu baklava grafikte gösteriniz.


İlgili Makaleler
Personele Ait Boy ve Kilo Bilgilerine Göre İdeal Kiloyu Bulan Uygulamayı Asp.Net İle Yapınız
Visual Studio 2022 Programında Asp.Net Web Application Şablonu Görünmüyor Hatasını Düzeltme
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem İkinci Yazılı Çalışma Soruları
Bir Otobüs Firmasına Ait Bilet Satış İşlemlerini Class(Sınıf) Tanımlayarak Yapan c# Form Uygulaması
RadioButton ile Cinsiyet Bilgisini Alan Asp.Net c# Uygulaması
ASP.NET Uygulamasında Metin Kutusunda Sadece Kredi/Banka Kartı Numarası Biçimine Nasıl İzin Verilir?
SqlServer Veri Tabanında Tanımlı Tabloya Video Yükleme İşlemi
Web Sayfasının Hangi Tarayıcıda Çalıştığını Bulma
Update Panel İçinde Button Click Çalışmıyor Hatasını Düzeltme
Visual Studio 2019 Programında c# İle Hazırlanan Web Projesini Local Sunucuda Yayınlama
Ayt 123 Sorusunu Core MVC Teknolojisini Kullanarak Çözümünü Bulma
Visual Studio 2022 Programında Asp.Net Core Empty RazorPage Web Projesi Oluşturma
Visual Studio 2022 Programında Asp.Net Core Web Projesi Oluşturma
Ajax Modal Popup Kullanarak GridView İçindeki Bir Kaydı Listeleyip Güncelleme
Sitenin Alexa Dünya Sıralamasını Kodlarla Öğrenme
Core Mvc Projesinde Birden Fazla Veriyi Tuple Nesnesiyle Gönderen Uygulama
Core Mvc Uygulamasında Sanal Data Kullanarak Personel Bilgilerini İşleyen Web Projesi Oluşturma1
Web Uygulamalarında SqLite Kullanımı
Microsoft Visual Studio Live Share Nedir? Nasıl Kullanılır?
Asp.Net Uygulamalarında Modal PopUp Oluşturma

Yorum Ekle
   
Kötü
İyi