c# Web

Ürünlere Ait Fiyatları ViewData 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 ürünlerin isimlerini ve alış-satış fiyatlarını listeleyeceğiz. Bu işlemleri Core Mvc teknolojisinde ViewData kullanarak yapacağız.

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

Yeni bir boş Core projesi oluşturalım. İsmini UrunListesi 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=Urun}/{action=Listeleme}"
    );

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 UrunController dosyasını oluşturalım. Aşağıdaki gibi bir action metodu oluşturulacaktır. Bu metod Listeleme() isimli view dosyasını döndürecektir.

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

Break point atalım. Projeyi çalıştıralım. Listeleme() isimli metod çalıştırılacak ancak bu dosya Views klasöründe olmadığı için hata verecektir. Şimdi Views klasörü altında Urun klasörünü, bunun altında Listeleme dosyasını oluşturalım. Bu işlemi gerçekleştirmek için şu yolu takip edelim. UrunController sayfasında Listeleme() 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 Urun 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>Ürün 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>Ürün 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 Urunler isminde bir class oluşturalım. Dosyanın içeriği aşağıdaki gibi olacaktır.

    public class Urunler
    {
        public int Id { get; set; }
        public string? UrunAdi { get; set; }
        public int AlisFiyati { get; set; }
        public int SatisFiyati { get; set; }
    }

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

        public IActionResult Listeleme()
        {
            var liste = new List<Urunler>
            {
                new Urunler{Id=1, UrunAdi="Buzdolabı",
                    AlisFiyati=18000, SatisFiyati=24000},
                new Urunler{Id=2, UrunAdi="Çamaşır Makinesi",
                    AlisFiyati=15000, SatisFiyati=19500},
                new Urunler{Id=3, UrunAdi="Bulaşık Makinesi",
                    AlisFiyati=14000, SatisFiyati=17000},
                new Urunler{Id=4, UrunAdi="Televizyon",
                    AlisFiyati=21000, SatisFiyati=27500},
                new Urunler{Id=5, UrunAdi="Bilgisayar",
                    AlisFiyati=24000, SatisFiyati=30000},
            };

            ViewData["urunList"] = 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>Ürün 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 ViewData["urunList"] as 
List<UrunListesi.Models.Urunler>)
            {
            <li>@liste.UrunAdi</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">
                    Ürünlerin Fiyat Listesi
                </h2>
            </caption>
            <thead class="table-dark">
                <tr>
                    <th>Id</th>
                    <th>Ürün Adı</th>
                    <th>Alış Fiyatı</th>
                    <th>Satış Fiyatı</th>
                </tr>
            </thead>
            <tbody>
                @foreach (var liste in ViewData["urunList"] as
                List<OkulListesi.Models.Urunler>)
                {
                    <tr>
                        <td>@liste.Id</td>
                        <td>@liste.UrunAdi</td>
                        <td>@liste.AlisFiyati</td>
                        <td>@liste.SatisFiyati</td>
                    </tr>
                }
            </tbody>
        </table>
    </div>

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

Ürünlere ait kar oranlarını tabloya ekleyiniz.

Ürünlerin alış ve satış toplamlarını tablonun altında gösteriniz.

Seçilen ürüne ait kar oranını baklava grafikte gösteriniz.


İlgili Makaleler
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem İkinci Yazılı Çalışma Soruları
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama1
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem Birinci Yazılı Çalışma Soruları
Visual Studio 2022 Programında Asp.Net Web Application Şablonu Görünmüyor Hatasını Düzeltme
Core Mvc Projesinde Tuple Nesneleri Post Etme ve Yakalama İşlemleri
Seri Port Yardımıyla Arduino Devresine Bağlanıp Ledleri Asp.Net Web Uygulamasından Yakıp Söndürme
Sitenin Alexa Dünya Sıralamasını Kodlarla Öğrenme
Personele Ait Boy ve Kilo Bilgilerine Göre İdeal Kiloyu Bulan Uygulamayı Asp.Net İle Yapınız
Bir Otobüs Firmasına Ait Bilet Satış İşlemlerini Class(Sınıf) Tanımlayarak Yapan c# Form Uygulaması
Asp.Net Uygulamasında Manual Olarak JSON Oluşturma
Web Uygulamalarında SqLite Kullanımı
Asp.Net Uygulamalarında DataList (Veri Listeleme) Kontrolü
C# Uygulamasında Miladi Takvimi Hicri Takvime, Hicri Takvimi Miladi Takvime Dönüştürme
RadioButton ile Cinsiyet Bilgisini Alan Asp.Net c# Uygulaması
2022 TYT Matematik Onbirinci Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
Asp.Net Uygulamalarında Modal PopUp Oluşturma
Visual Studio 2019 Programında c# İle Hazırlanan Web Projesini Local Sunucuda Yayınlama
Asp.Net Uygulamalarında RequiredFieldValidator İşlemi
Server Explorer Panelini Kullanarak Veri tabanında Tablo Ekleme, Silme, Düzenleme

Yorum Ekle
   
Kötü İyi