c# Web
Beğen (0)

Core Mvc Uygulamasında Sanal Data Kullanarak Personel Bilgilerini İşleyen Web Projesi Oluşturma2

Personel bilgilerine ait sanal veritabanı bilgilerini web sayfasında görüntülemiştik. Burada dikkat ettiyseniz herhangi bir tasarım ve menü yapısı kullanmadık. Halbuki personel işlemlerini gerçekleştirmek için bir menü yapısına ve tasarımla farklı sayfaların gösterilmesine ihtiyaç vardır. Şimdi bu işlemleri gerçekleştirelim. Öncelikler şu sorulara cevap bulmaya çalışalım.

Web sayfası eklendiğinde bootstrap ve jquery kütüphaneleri her defasında yüklenmek zorundamıdır. Hayır.

Web sayfasına model binding aracılığıyla bilgi gönderildiğinde veri tipi için proje isminin her defasında yazılması gereklimidir. Hayır.

Tüm web sayfalarında aynı olan üst taraf, menüler, alt taraf, yan tarafta yer alan seçenekler her defasında web sayfasında yapılmak zorundamıdır. Hayır

Core mvc projelerinde her defasında tekrar eden yapıları bir sayfada tutup istenildiğinde çağırmanız yeterli olacaktır. Hadi şimdi bunu gerçekleştirelim. Tüm web sayfalarında kullanılacak bilgilerin ve yapıların saklandığı dosyayı belirtmek için view klasöründe _ViewStart isminde bir razor page sayfası oluşturmanız gerekir. Burada masterpage dediğimiz ana şablonun ismi belirtilir. Dosyamızı oluşturalım ve içeriğini yazalım.

@{
    Layout = "_Layout";
}

Projede kullanılacak model ve yardımcı elemanların her web sayfası eklendiğinde eklenmemesi için view klasöründe _ViewImports razor page dosyası oluşturulması gerekir. Şimdi bu dosyayı ekleyelim ve gerekli tanımlamaları yapalım.

@using PersonelWeb
@using PersonelWeb.Models
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

Hatırlarsanız Index dosyasında modeli eklerken bu tanımlamaları yapmıştık. Artık bu tanımlamaları yapmamıza gerek kalmadan işlemleri yapabileceğiz. Index dosyasının tamamını silelim ve aşağıdaki gibi düzenleyelim. Ayrıca controller tarafında veri tabanının eklenmesi için yapılan tüm işlemleri silelim. Çünkü personel listeslini başka bir controller aracılığıyla gerçekleştireceğiz.

@{
    ViewData["Title"] = "Ana Sayfa";
}

Burada hem web sayfasında title etiketi kullanıldı hem de ViewData ile web sayfasının başlığı verildi. Bunun ne zaman işe yarayacağını daha sonra açıklayacağım. Devam edelim. _Layout ana sayfasının oluşturulması için view klasörü altında Shared klasörü oluşturalım. Bu klasör altına _Layout razor page sayfasını oluşturalım. Sayfanın tasarımını aşağıdaki gibi yapalım.

<!DOCTYPE html>

<html lang="tr">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>@ViewData["Title"] - Personel Yönetimi</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>
    @RenderBody()
</body>
</html>

Gördüğünüz gibi bootstrap ve jquery kütüphanelerini burada tanımlıyoruz. ViewData ile başlığı burada görüntülüyoruz. Burada en önemli komut @RenderBody komutudur. Bu _layout sayfasını kullanan diğer web sayfalarının içerikleri bu komut sayesinde görüntülenmektedir. Şimdi Index sayfasını aşağıdaki gibi düzenleyelim.

@{
    ViewData["Title"] = "Ana Sayfa";
}

<div class="text-center">
    <h1 class="display-5">Personel Yönetim Sistemine Hoşgeldiniz</h1>
    <p>İşlemler için soldaki menüyü kullanabilirsiniz.</p>
</div>

Projeyi kaydedip çalıştıralım. Web sayfasının hatasız bir şekilde ekrana geldiğini görürsünüz. Şimdi wwwroot klasörü altında css isminde bir klasör oluşturalım. Bunun altında styles bir style dosyası oluşturalım. İçeriği aşağıdaki gibi olacaktır.

body {
    background: url(/img/body-bg.jpg) fixed;
    background-size: cover;
    margin-top: 57px;
}

.bg-navbar {
    background-color: #0a4768;
}

Burada yer alan body-bg.jpg isimli dosyayı img klasörünün altına kopyalayalım. Projeyi kaydedip çalıştıralım. Web sayfasının hatasız ekrana geldiğini görürsünüz. Şimdi _Layout sayfasına navbar ekleyelim.

<nav class="navbar navbar-expand-lg navbar-dark fixed-top bg-navbar">
    <div class="container">
        <a class="navbar-brand" asp-controller="Home" asp-action="Index">Admin Panel</a>
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <ul class="navbar-nav me-auto mb-2 mb-lg-0">
                <li class="nav-item">
                    <a class="nav-link active" aria-current="page" asp-controller="Home" asp-action="Index"><i class="bi bi-house"></i> Giriş</a>
                </li>
            </ul>
        </div>
    </div>
</nav>

Projeyi kaydedip çalıştıralım. Web sayfasının hatasız ekrana geldiğini görürsünüz. Şimdi _Layout sayfasına sol menü ve alt başlık ekleyelim.

<div class="container bg-light">
    <div class="row">
        <img class="img-fluid p-0" src="~/img/ust-bg.jpg" title="Personel Yönetim Sitemi">
    </div>

    <div class="row py-3">
        <div class="col-md-3">
            <div class="list-group">
                <a href="#" class="list-group-item disabled">
                    <h5>Personel İşlemleri</h5>
                </a>
                <a class="list-group-item" asp-controller="PersonelYonetimi" asp-action="Index"><i class="bi bi-people-fill"></i> Personel Listesi</a>
                <a class="list-group-item" asp-controller="PersonelYonetimi" asp-action="Ekle"><i class="bi bi-person-fill-add"></i> Personel Ekle</a>
            </div>
        </div>

        <div class="col-md-9">
            @RenderBody()
        </div>
    </div>

    <div class="row bg-dark text-white p-3">
        <small>Bu sitedeki çalışmalar eğitim amaçlı olarak hazırlanmıştır. 
İçerik serbestçe kullanılabilir. 2024 &copy;</small>
    </div>
</div>

Projeyi kaydedip çalıştıralım. Web sayfasının hatasız ekrana geldiğini görürsünüz. 

Görüş ve önerilerinizi bize yazabilirsiniz.

Okunma Sayısı: 2

Etiketler
core mvc template layout 

Yorumlar

Yorum Ekle
Kötü İyi
İlgili Makaleler
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem İkinci Yazılı Çalışma Soruları
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem Birinci Yazılı Çalışma Soruları
Asp.Net Platformunda Harici JSON Dosyasından Namaz Vakitlerini Alma
Core Mvc Projesinde Tuple Nesneleri Post Etme ve Yakalama İşlemleri
Asp.Net Uygulamalarında Response.Redirect Kullanarak Web Sayfasını Yeni Sekmede Açma
Stripe Kullanarak Kredi Kartı ile Ödeme İşlemi Yapan Asp.Net Uygulaması
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
Oluşturulan DLL Dosyasını Web Sayfasına Ekleyip Kullanma
Öğrenci Bilgilerini Post Metoduyla Alan Core Mvc Uygulaması
Klavyeden Girilen İki Sayıyı Toplayan Programı Visual Studio 2022 Programında Web Sayfası Olarak Kodlayınız
Ajax Modal Popup Extender Kullanarak GridView Satırını Düzenleme ve Yeni Kayıt Ekleme
Derslere Ait Başarı Durumunu Model Tasarlayarak Listeleyen Core Mvc Uygulaması
Sanal Data Kullanarak Oluşturulan Personel Bilgilerini SqLite Veri Tabanına Dönüştüren Web Uygulaması4
C# Uygulamasında Miladi Takvimi Hicri Takvime, Hicri Takvimi Miladi Takvime Dönüştürme
Core Mvc Uygulamasında Sanal Data Kullanarak Personel Bilgilerini İşleyen Web Projesi Oluşturma2
Web Uygulamalarında SqLite Veritabanında Uyeler Tablosuna Kayıt Girişi Yapma
Asp.Net Uygulamalarında Modal PopUp Oluşturma
ASP.NET ve ASP.NET Core Arasındaki Farklar
Yayınlanan Web Service Hizmetini Asp.Net Web Sayfasında Kullanma
Web Uygulamalarında SqLite Veritabanında Uyeler Tablosunu Oluşturma