c# Web

Öğrencilere Ait Performans ve Uygulama Notlarının Girildiği Core Mvc Projesi Tasarlama11

Dal modeli ile ilgili gerekli değişiklikleri ve CRUD işlemlerini gerçekleştirecek şekilde düzenlemeleri yapalım. 

DalController Oluşturulması

Controllers/Admin klasörüne DalController.cs dosyasını ekleyelim ve CRUD işlemleri gerçekleştirelim.

using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using SchoolManagement.Data;
using SchoolManagement.Models;

namespace SchoolManagement.Controllers.Admin
{
    [Authorize(Roles = "Admin")] // Sadece admin kullanıcıları erişebilecek
    public class DalController : Controller
    {
        private readonly ApplicationDbContext _context;

        public DalController(ApplicationDbContext context)
        {
            _context = context;
        }

        // Dalları Listeleme
        public async Task<IActionResult> Index(string searchString)
        {
            var dallar = from d in _context.Dallar
                         select d;

            // Eğer arama yapılıyorsa, arama kriterine göre dalları filtreliyoruz
            if (!string.IsNullOrEmpty(searchString))
            {
                dallar = dallar.Where(d => d.DalAdi.Contains(searchString));
            }

            return View("~/Views/Admin/Dal/Index.cshtml", await dallar.ToListAsync());
        }

        // Yeni Dal Ekleme (GET)
        public IActionResult Create()
        {
            return View("~/Views/Admin/Dal/Create.cshtml");
        }

        // Yeni Dal Ekleme (POST)
        [HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> Create(Dal dal)
        {
            if (ModelState.IsValid)
            {
                _context.Add(dal);
                await _context.SaveChangesAsync();
                return RedirectToAction(nameof(Index)); // Dallar sayfasına yönlendiriyoruz
            }
            return View("~/Views/Admin/Dal/Create.cshtml", dal); // Hata varsa aynı sayfayı tekrar gösteriyoruz
        }

        // Dal Düzenleme (GET)
        public async Task<IActionResult> Edit(int id)
        {
            var dal = await _context.Dallar.FindAsync(id);
            if (dal == null) return NotFound(); // Dal bulunamazsa hata sayfasına yönlendir
            return View("~/Views/Admin/Dal/Edit.cshtml", dal);
        }

        // Dal Düzenleme (POST)
        [HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> Edit(int id, Dal dal)
        {
            if (id != dal.Id) return NotFound(); // ID uyuşmazsa hata sayfasına yönlendir

            if (ModelState.IsValid)
            {
                _context.Update(dal);
                await _context.SaveChangesAsync();
                return RedirectToAction(nameof(Index)); // Dallar sayfasına yönlendir
            }
            return View("~/Views/Admin/Dal/Edit.cshtml", dal); // Hata varsa aynı sayfayı tekrar göster
        }

        // Dal Silme (GET)
        public async Task<IActionResult> Delete(int id)
        {
            var dal = await _context.Dallar.FindAsync(id);
            if (dal == null) return NotFound(); // Dal bulunamazsa hata sayfasına yönlendir
            return View("~/Views/Admin/Dal/Delete.cshtml", dal);
        }

        // Dal Silme (POST)
        [HttpPost, ActionName("Delete")]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> DeleteConfirmed(int id)
        {
            var dal = await _context.Dallar.FindAsync(id);
            if (dal != null)
            {
                _context.Dallar.Remove(dal);
                await _context.SaveChangesAsync();
            }
            return RedirectToAction(nameof(Index)); // Dallar sayfasına yönlendir
        }
    }
}

Dal Butonunu Güncelleme

Alanlar butonunun olduğu menüde, Dallar için yeni bir buton ekleyelim. Bu buton, DalController'ın Index action'ına yönlendirecek.

<li><a class="dropdown-item" asp-controller="Dal" asp-action="Index">Dallar</a></li>

Dal Sayfası (Index.cshtml)

Dalların listeleneceği ana sayfayı Views/Admin/Dal/Index.cshtml dosyasına ekleyelim.

@model IEnumerable<SchoolManagement.Models.Dal>

@{
    ViewData["Title"] = "Dallar";
}

<h2>Dal Listesi</h2>

<p>
    <a class="btn btn-primary" asp-action="Create">Yeni Dal Ekle</a>
</p>

<form asp-action="Index" method="get">
    <input type="text" name="searchString" class="form-control w-25 d-inline" placeholder="Ara..." />
    <button type="submit" class="btn btn-secondary">Ara</button>
</form>

<table class="table table-bordered mt-3">
    <thead>
        <tr>
            <th>ID</th>
            <th>Dal Adı</th>
            <th>İşlemler</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model)
        {
            <tr>
                <td>@item.Id</td>
                <td>@item.DalAdi</td>
                <td>
                    <a class="btn btn-warning btn-sm" asp-action="Edit" asp-route-id="@item.Id">Düzenle</a>
                    <a class="btn btn-danger btn-sm" asp-action="Delete" asp-route-id="@item.Id">Sil</a>
                </td>
            </tr>
        }
    </tbody>
</table>

Dal Ekleme Sayfası (Create.cshtml)

Yeni Dal eklemek için Views/Admin/Dal/Create.cshtml dosyasını oluşturacağız.

@model SchoolManagement.Models.Dal

@{
    ViewData["Title"] = "Yeni Dal Ekle";
}

<h2>Yeni Dal Ekle</h2>

<form asp-action="Create" method="post">
    <div class="form-group">
        <label asp-for="DalAdi"></label>
        <input asp-for="DalAdi" class="form-control" required />
    </div>
    <button type="submit" class="btn btn-success mt-2">Kaydet</button>
</form>

<p>
    <a asp-action="Index">Geri Dön</a>
</p>

Dal Güncelleme Sayfası (Edit.cshtml)

Dal düzenleme işlemi için Views/Admin/Dal/Edit.cshtml dosyasını ekleyelim.

@model SchoolManagement.Models.Dal

@{
    ViewData["Title"] = "Dal Düzenle";
}

<h2>Dal Düzenle</h2>

<form asp-action="Edit" method="post">
    <input type="hidden" asp-for="Id" />
    <div class="form-group">
        <label asp-for="DalAdi"></label>
        <input asp-for="DalAdi" class="form-control" required />
    </div>
    <button type="submit" class="btn btn-primary mt-2">Güncelle</button>
</form>

<p>
    <a asp-action="Index">Geri Dön</a>
</p>

Dal Silme Sayfası (Delete.cshtml)

Dal silme işlemi için Views/Admin/Dal/Delete.cshtml dosyasını oluşturalım.

@model SchoolManagement.Models.Dal

@{
    ViewData["Title"] = "Dal Sil";
}

<h2>Dal Sil</h2>
<p>@Model.DalAdi adlı dalı silmek istediğinizden emin misiniz?</p>

<form asp-action="Delete" method="post">
    <input type="hidden" asp-for="Id" />
    <button type="submit" class="btn btn-danger">Sil</button>
</form>

<p>
    <a asp-action="Index">Geri Dön</a>
</p>

 


Etiketler
core mvc create edit delete views 
İ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
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama4
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
Asp.Net Uygulamalarında Modal PopUp Oluşturma
Web Uygulamalarında SqLite Kullanımı
Asp.Net Uygulamalarında DataList (Veri Listeleme) Kontrolü
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama2
C# Uygulamasında Miladi Takvimi Hicri Takvime, Hicri Takvimi Miladi Takvime Dönüştürme
2022 TYT Matematik Onbirinci Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama3
RadioButton ile Cinsiyet Bilgisini Alan Asp.Net c# Uygulaması

Yorum Ekle
   
Kötü İyi