ASP.NET MVC ile linkleri yeni sekmede açma

ASP.NET mvc’de linkleri yeni sekmede açmak için kolayca anchor etiketine target attribute’ü ekleyip değerinede _blank verip kolayca yeni sekmede açabilirsiniz fakat model’den direk oluşan linkler için farklı bir durum söz konusu olmaktadır.

ASP.NET MVC ile linkleri yeni sekmede açma

Modeli sayfaya HtmlHelper sınıfının üyelerinden biri olan DisplayForModel() metodu ile bastırıyoruz burada DataType’i Url olan alan için sayfaya url’in bastırma aşağıdaki gibi olacaktır.

Üstteki kodda dikkat etmeniz gereken durum target attribute’ünün olmayışıdır ve dolayısıyla linklere tıkladığımızda sayfamız üzerinden geçiş yapılacaktır fakat yeni sekmede açmak istersek linki bunun aşağıdaki yolu izlememiz gerekir.

Öncelikle View klasörü altına Shared klasörü açalım şayet varsa Shared Klasörü altına DisplayTemplates klasörü açalım buraya açağımız View’de dikkat etmeniz gereken nokta DataType’da bulunan eleman isimleri ile aynı ismi birebir vermelisiniz misal attribute’ü [DataType(DataType.Url)] olan bir eleman için Url.cshtml şeklinde bir view sayfası oluşturmalısınız örnek olarak aşağıdaki gibi bir Url için template sayfası oluşturunuz.

Url.cshtml Sayfası İçeriği

Üstteki kodda hemen @ViewData.Model kısımları dikkatinizi çekmiştir bu tanımlamaları yapmak isek DB’den gelen değerler set edilmeden direk olarak boş bir a etiketi oluşturulacaktır. biz standart olarak oluşturulan a etiketine target özelliğinide kazandırmış olduk böylelikle DataType.Url attribute’üne sahip tüm alanlar için sayfaya bastırıldığında target özellikli olarak yeni sayfada açılabilen linkler oluşturulacaktır.

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir