.Net Core ViewComponents Kullanımı
  1. Anasayfa
  2. ASP.Net

.Net Core ViewComponents Kullanımı

0

Merhabalar, bu yazımda sizlere ViewComponent nedir? Neden kullanmalıyız anlatıyor olacağım. Bir web uygulaması geliştirirken birden fazla prensip üzerinden gidiyoruz, bu yazımda bunlardan birine örnek olabilecek bir konu ile ilgili sizlere bilgiler veriyor olacağım. DRY (Don’t Repeat Yourself) prensibinden’de yola çıkarak, bir tasarımı tekrar tekrar yazmak yerine o tasarımı bir component haline getirerek uygulama içerisinde istediğimiz kadar kullanabiliyoruz. Böylelikle bir değişiklik anında tekrar alanları düzenlemektense Component üzerinde değişiklik yapmamız yeterli olacaktır.

Konuyu daha anlaşılır bir hale getirebilmek için, bir proje üzerinden ilerleyelim.

Projenizi visualstudio kullanarak açabilirsiniz. Makale boyunca tüm örnekleri CLI kullanarak visualstudio üzerinden anlatıyor olacağım..

Öncelikle yeni bir command prompt (mac kullananlar için terminal) açınız.

Sırası ile komutlarımız,

  1. cd Desktop => ilgili dizinimizi masaüstü olarak ayarlıyalım.
  2. mkdir StateManagement => Project adında bir klasör oluşturalım
  3. cd Project => dizin olarak, oluşturduğumuz klasörü belirleyelim
  4. dotnet new mvc -n ViewComponentApp -f netcoreapp3.1 => dotnet cli komutlarını kullanarak 3.1 versiyonu ile yeni bir mvc projesi oluşturuyoruz.
  5. cd ViewComponentApp => dizinimizi proje ana dizini olarak belirliyoruz.
  6. code . => code(boşluk).(nokta) diyerek vscode’u proje dizininde açıyoruz.

Projemizi oluşturduktan sonra, içerisine ViewComponents adında bir klasör ekleyelim ve içerisine Sample adında bir class ekleyelim ve ViewComponent sınıfından miras verelim.

using Microsoft.AspNetCore.Mvc;


namespace ViewComponentApp.ViewComponents


{


    public class Sample : ViewComponent


    {


    }


}

 

Component içerisini daha sonra düzenleyeceğiz, yukarıdaki gibi düzenledikten sonra, Views/Shared kalsörü içerisine Sample adında bir klasör açınız ve içerisinde Default.cshtml adında bir view ekleyiniz. Burda önemli olan nokta View’ın isminin Default olmasıdır. Farklı bir isim vermeyiniz.

Default.cshtml dosyasına geliniz ve içerisinde geçici olarak bir başlık ekleyelim.

<h1>msHOWTO</h1>

 

Yukarıdaki İşlemleri yaptıktan sonra Component’I kullanmaya başlayabiliriz. Önecelikle hangi View içerisinde kullanacaksak, onun içerisinde tanımlama yapmamız gerekecek. HomeController içerisindeki Index View’ına gelerek tanımlama işlemini yapalım.

<div class="text-center">


    @await Component.InvokeAsync("Sample")


</div>

 

Yukarıdaki gibi tanımlama işlemini yaptığımızda Component içerisindeki tasarımımız artık View üzerinde render edilmiş olacaktır.

Resim – 1

Kullanım olarak Asenkron bir şekilde hazırladığımız Component’i render etmiş olduk. Farklı bir şekilde kullanmak istersek aşşağıdaki gibi kullanabiliriz.

<div class="text-center">


    <vc:sample> </vc:sample>


</div>

 

Yukarıda farklı kullanım şekillerine değindik. Default olarak içerisindeki tasarım veya model’i render ediyoruz ama, bu Component’e tanımlandığı yerden data göndermek isterse, aşşağıdaki gibi Component’i düzenlememiz yeterli olacaktır.

Öncelikle Sample.cs içerisine gelelim ve gerekli düzenlemeleri yapalım.

    public class Sample : ViewComponent


    {


        public async Task<IViewComponentResult> InvokeAsync(string param)


        {


            string result = $"ViewComponent Değeri : {param}";


            return View(model :result);


        }


    }

 

Sonrasında View sayfasına gelelim ve aşşağıdaki düzenlemeyi yapalım.

@model string


<h1>@Model</h1>


Yukrıdaki İşlemleri yaptıktan sonra, Index.cshtml'e gelelim ve tanımlama alanlarını düzenleyelim.

<div class="text-center">


    @await Component.InvokeAsync("Sample","msHOWTO")


</div>


<div class="text-center">


    <vc:sample param="msHOWTO"> </vc:sample>


</div>

 

Bir sonraki makalede görüşmek üzere

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar:
www.mshowto.org

www.fatihdemirci.net

TAGs: ViewComponents Kullanımı, ViewComponents Nedir

Bu İçeriğe Tepkin Ne Oldu?
  • 1
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 1
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

1982 Ankara doğumluyum, Lise ve Üniversite Eğitimini Açık Öğretim üzerinden tamamladım ve 2009 yılında BilgeAdam ile yazılım hayatına atıldım Öğrenci olarak başladığım kurumda 2009 yılından bu yana farklı görevlerde çalıştım. Şuan Bilgeadam beşiktaş şubesinde aktif olarak danışmanlık ve yazılım eğitmenliği yapmaktayım. Yeni teknolojileri araştırıp öğrenmeyi seven biriyim. İşim gereği hem geliştirdiğim projeler olsun eğitim verdiğim öğrenciler olsun aktif olarak kendimi güncel tutmak işimin gereği ve bu bildiklerimi paylaşmaktan mutluluk duyuyorum.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir