Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...

MVC Html.ActionLink Metodu

HtmlHelper tipinden olan Html.ActionLink medotu sayesinde “<a href=…>” html tagında bir link yapısı oluşturabiliyoruz.

Örnek olarak Visual Studio ortamında boş bir MVC projesi oluşturalım.Oluşturduğumuz bu projenin Solution Explorer penceresinden, View katmanındaki Shared isimli klasörün altına Sablon.master adında bir MasterPage ekleyelim.

Eklediğimiz bu Sablon.master isimli MasterPage sayfamıza sadece Html.ActionLink metodu ile linkler ekleyeceğiz.Tabi bu oluşturacağımız linkler projemizde oluşturacağımız herhangi isimdeki sayfalara yönlendirilecekler.

Bu sayfaları oluşturmak için Controller katmanımızda bir Controller oluşturmalı, bu oluşturulan Controller adında View katmanında klasör oluşturulmalı ve bu klasör altındaki dosya isimlerinde Controller’ımızda ActionResult tipinden metodlar oluşturmalıyız.Yani uzun lafın kısası MVC tabanında sayfalar üreteceğiz.

Ben “Sayfam(Controller)” adında bir Controller sınıfı oluşturuyorum ve View katmanında “Sayfam” adında klasörümü oluşturuyorum.Controller sınıfıma “Index” varsayılan metodu dışında “Sayfa1″ metodunu ekliyorum ve View katmanında gerekli klasör içine Sayfa1.aspx dosyasını oluşturuyorum.

Solution Explorer penceremizin son hali yukarıdaki görüntüdeki gibidir.”Sayfam(Controller)” Controller sınıfımızın kodlarına bakarcak olursak eğer..

    public class SayfamController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
        public ActionResult Sayfa1()
        {
            return View();
        }
    }

Şimdi Html.ActionLink metodumuz ile Sablon.Master sayfamızda Index ve Sayfa1 actionlarının linklerini oluşturalım.

Shared klasörüne sağ tıklayarak, MVC User Control seçip, “Linkler.ascx” adında projemize ekliyorum.Bu User Control’ü Sablon.Master sayfamızın herhangi bir yerine sürükleyip bırakıyoruz.

Linkler.ascx sayfasına gelip, Html.ActionLink metodumuzu kullanıyoruz.

Yukarıdaki resimde gördüğünüz gibi, Html.ActionLink metodumuzun 4. overload metodunu incelersek eğer, linkin adını, Action metodunun ismini ve hangi Controller’da olduğunu soruyor.Eğer bu metoda gerekli bilgileri aşağıdaki gibi verirsek, nasıl bir URL yapısı oluşturduğunu göreceğiz.


// Oluşturduğu URL yapısı : http://localhost:****/Sayfam/Sayfa1

Son olarak, Html.ActionLink metodunda parametreli link nasıl oluşturabiliyoruz inceleyelim.


Bu yapının örnek gösterimini, Sayfa1 isminde ki sayfamızda uygularsak eğer aşağıdaki gibi bir parametrik URL yapısı çıkacaktır.
http://localhost:****/Sayfam/Sayfa1/2 

Sevgili okurlarım.Bu yazının sonunda bir özeleştiri yapma hakkımın olduğunu düşünüyorum.Bu seferki yazı karmaşık bir anlatıma sahip olduğunun bende farkındayım.Konuyu çok dağıtmadan direkt metod hakkında bilgi ve kullanış biçimiyle ilgili pratik yolları versem yeterli olacaktı sanırım.Diğer yazılardaki gibi ayrıntıya kaçma gereği bu konuda çok duyulmadığının farkındayım.Bu seferlik bu karmaşık ve gereksiz uzatılmış yazımdan dolayı affınıza sığınarak, faydalanmanızı diliyorum.

İyi çalışmalar  🙂

Bunlar da hoşunuza gidebilir...

2 Cevaplar

  1. hasan akgül dedi ki:

    Öncelikle teşekkür etmek isterim.

    Öz eleştirinize hayranlık duyduğumu belirtmeden geçmeyeceğim 🙂
    Fakat “Html.ActionLink” methodunun nasıl yazıldığını tam olarak belirtmek faydalı olurdu.
    Anladığım kadarı ile (ki doğru anladımsa 🙂 ) araştırmaya sevketmişsiniz.

    • Gençay dedi ki:

      Merhaba Hasan,
      Bende sizin nacizane yorumunuza teşekkür ederim.
      Yorumunuz neticesinde yazıda paylaşılması gereken kodların atlandığının farkına vardım.Bundan dolayı affınıza sığınıyorum.Araştırmaya sevketsemde bu kadar boş bir yazıylada sizin gibi değerli okurlarımı uğurlamak istemem 🙂
      Saygılarımla.

Bir yanıt yazın

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