Merhaba arkadaşlar bu yazımda Asp.NET MVC RenderPage metodundan bahsedeceğim. RenderPage metodu herhangi bir sayfadaki bölümü başka bir sayfa ile doldurmaya yarıyor, HTML deki iframe mantığı gibi de diyebiliriz. Örnek kodlarımızı inceleyerek konuyu daha iyi anlayabiliriz. Öncelikle Visual Studioda boş bir MVC projesi oluşturuyoruz. Nasıl yapıldığı konusunda önceki makaleleri inceleyebilirsiniz. Öncelikle Layout sayfamızı oluşturuyoruz ve sırasıyla Anasayfa ve İletişim sayfalarımızı ekliyoruz. Layouta ilave olarak oluşturduğumuz Menü sayfasını ilave ediyoruz ve bunu Layoutumuzu kullanan tüm sayfalarda body tagının içerisinde görebiliyoruz. Şimdi sırasıyla oluşturduğumuz sayfaları inceleyelim; Layout.cshtml
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>@ViewBag.Title</title> </head> <body> @RenderPage("~/Views/Nav/Nav.cshtml") <div> @RenderBody() </div> </body> </html>
Index.cshtml
@{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/Layout.cshtml"; } <h2>Anasayfa</h2>
Contact.cshtml
@{ ViewBag.Title = "Contact"; Layout = "~/Views/Shared/Layout.cshtml"; } <h2>İletişim</h2>
Nav.cshtml
<div class="nav"> <a href="/">AnaSayfa</a> | <a href="/Contact/Contact">İletişim</a> </div>
Örnek projeyi buradan indirebilirsiniz. Umarım faydalı olmuştur.