Menangani Data yang Selalu Muncul di Layout/Master Page pada ASP.NET MVC

Jika kita membangun sebuah web site atau web app yang misal memiliki sidebar atau menu atau sesuatu pada halaman master dengan data yang ditampilkan secara dinamis pada semua halaman maka kita akan dibenturkan dengan masalah bagaimana cara mengirimkan data tersebut.

MVC Multiple Model

Karena bagian ini akan selalu muncul pada halaman apapun yang di-request maka apakah artinya tiap kali memanggil method pada controller kita perlu juga untuk melewatkan data tersebut? hmm gak apik. Kenapa? karena artinya akan ada duplikasi kode dimana-mana.

ASP.NET MVC sebagai web framework andalan Microfost mempunyai solusi yang elegan karena cukup panggil sekali maka data akan selalu muncul pada tiap request.

Yang perlu kita lakukan adalah membuat sebuah action method yang nilai kembaliannya berupa PartialView. Jadi nanti yang ditampilkan pada halaman master adalah halaman partial view berikut dengan data yang dilewatkannya.

Contohnya adalah kode di bawah

Dari kode yang saya tandai di atas ada beberapa yang perlu diperhatikan. Attribute [ChildActionOnly] digunakan supaya method ini tidak bisa langsung diakses melalui url http://host/Home/TopMessage.

Kemudian pada bagian return PartialView(“_TopMessage”,data), “_TopMesage adalah template view yang muncul terus menerus beserta datanya pada halaman master.

Untuk memanggilnya pada halaman master kita menggunakan Html helper dengan method Action yang memiliki 2 parameter, nama method dan nama controller.

Maka berikut yang terjadi ketika halaman index diakses

1. Index Page

Dan berikut ketika halaman about diakses

2. About page

Dari kedua gambar di atas nampak kalau Top Message selalu dimunculkan dengan hanya sekali panggil

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

One thought on “Menangani Data yang Selalu Muncul di Layout/Master Page pada ASP.NET MVC

Leave a Reply

Your email address will not be published. Required fields are marked *