c# Web

Okullarda Bulunan Öğrenci Sayılarını ViewBag Kullanarak 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 okulların isimlerini ve kız-erkek öğrenci sayılarını listeleyeceğiz. Bu işlemleri Core Mvc teknolojisinde ViewBag kullanarak yapacağız.

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

Yeni bir boş Core projesi oluşturalım. İsmini OkulListesi 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>Okul Listesi</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>Okul Listesi</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 okullara 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 Okullar isminde bir class oluşturalım. Dosyanın içeriği aşağıdaki gibi olacaktır.

    public class Okullar
    {
        public int Id { get; set; }
        public string? OkulAdi { get; set; }
        public int ErkekOgrenciSayisi { get; set; }
        public int KizOgrenciSayisi { 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<Okullar>
            {
                new Okullar{Id=1, OkulAdi="Şirinyer Anadolu Lisesi",
                    ErkekOgrenciSayisi=600, KizOgrenciSayisi=450},
                new Okullar{Id=1, OkulAdi="Atatürk Meslek Lisesi",
                    ErkekOgrenciSayisi=850, KizOgrenciSayisi=350},
                new Okullar{Id=1, OkulAdi="Eserkent Ortaokulu",
                    ErkekOgrenciSayisi=400, KizOgrenciSayisi=320},
                new Okullar{Id=1, OkulAdi="Bahar Yıldırım İlkokulu",
                    ErkekOgrenciSayisi=300, KizOgrenciSayisi=350},
                new Okullar{Id=1, OkulAdi="30 Ağustos Ortaokulu",
                    ErkekOgrenciSayisi=440, KizOgrenciSayisi=500},
            };

            ViewBag.okulList = liste;
            return View();
        }

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

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Okul Listesi</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 ViewBag.okulList as 
List<OkulListesi.Models.Okullar>)
            {
            <li>@liste.OkulAdi</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-striped caption-top">
            <caption>
                <h2 class="text-center">
                    Okullara Ait Öğrenci Sayıları
                </h2>
            </caption>
            <thead class="table-dark">
                <tr>
                    <th>Id</th>
                    <th>Okul Adı</th>
                    <th>Erkek Öğrenci</th>
                    <th>Kız Öğrenci</th>
                </tr>
            </thead>
            <tbody>
                @foreach (var liste in ViewBag.okulList as 
List<OkulListesi.Models.Okullar>)
                {
                    <tr>
                        <td>@liste.Id</td>
                        <td>@liste.OkulAdi</td>
                        <td>@liste.ErkekOgrenciSayisi</td>
                        <td>@liste.KizOgrenciSayisi</td>
                    </tr>
                }
            </tbody>
        </table>
    </div>

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

Erkek ve kız öğrencilerin oranlarını tabloya ekleyiniz.

Erkek ve kız öğrenci toplamlarını tablonun altında gösteriniz.

Seçilen okula ait erkek ve kız öğrenci sayılarını baklava grafikte gösteriniz.


İlgili Makaleler
Web Uygulamalarında SqLite Veritabanında Uyeler Tablosunda Kayıtları Listeleme
SqLite Programında Uyeler Tablosuyla İlgili Tüm İşlemleri Gerçekleştiren c# Web Uygulaması
Web Uygulamalarında SqLite Veritabanını Oluşturma
Web Uygulamalarında SqLite Veritabanında Uyeler Tablosuna Kayıt Girişi Yapma
Web Uygulamalarında SqLite Veritabanında Uyeler Tablosunda Kayıt Silme İşlemini Yapma
Personele Ait Boy ve Kilo Bilgilerine Göre İdeal Kiloyu Bulan Uygulamayı Asp.Net İle Yapınız
Web Uygulamalarında SqLite Veritabanında Uyeler Tablosunda Kayıt Güncelleme İşlemini Yapma
Web Uygulamalarında SqLite Kullanımı
Visual Studio 2022 Programında Asp.Net Web Application Şablonu Görünmüyor Hatasını Düzeltme
Öğrencilere Ait Performans ve Uygulama Notlarının Girildiği Core Mvc Projesi Tasarlama5
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama6
Öğrencilere Ait Performans ve Uygulama Notlarının Girildiği Core Mvc Projesi Tasarlama10
Asp.Net Sayfasında jQuery Kullanarak Buton Click Olaylarını Kontrol Etme
Core Mvc Projesinde Otomobil Satışı Yapan Web Projesini Tasarlama3
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
Asp.Net Uygulamalarında RequiredFieldValidator İşlemi
Web Uygulamalarında Bilgisayarın İnternete Bağlı Olup Olmadığını Kontrol Etme
Web Uygulamalarında SqLite Veritabanında Uyeler Tablosunu Oluşturma
Okullarda Bulunan Öğrenci Sayılarını ViewBag Kullanarak Listeleyen Core Mvc Uygulaması
Ürünlere Ait Fiyatları ViewData Kullanarak Listeleyen Core Mvc Uygulaması

Yorum Ekle
   
Kötü İyi