Asp.Net MVC C#

C# Asp.Net MVC – Replace Metodumu Paylaşıyorum

Merhabalar, bu yazımda her projemde mutlaka kullandığım bir helperdan bahsedeceğim. Bilindiği üzere dinamik projelerde urllere Türkçe karakter, noktalama işaretleri, özel karakterler ya da boşluklar geldiğinde sağlıklı urllere sahip olamıyoruz.  Bunu oluşturduğum bir metot ile tamamen çözebiliyorum.

Replace Kodu Nedir?

Replace kodu, string değerler içerisindeki kelimelerin ya da harflerin değiştirilmesine kolaylık sağlayan bir kod parçacığıdır.

Replace Kodu Nasıl Kullanılır?

Replace kodunu, string bir değerin sonuna

.Replace(“değiştirilecek kelime veya karakter”, “değiştirilen kelime veya karakter”)

yazarak oluşturabiliriz. Bu işlemi birden fazla kelimeye veya karaktere yapabildiğinizden veya kullanmak istediğinizden Replace kodunu art arda kullanabilirsiniz.

Bkz: name.Replace(“a”,”b”).Replace(“c”,”d”); Yukarıdaki kod “name” string ifadesinin içinde gelen string değeri alarak Replace içindeki işlemleri tek tek yapar

string name = “Replace Kodu”; name= name.Replace(“a”,”b”).Replace(“c”,”d”);

Bu koddaki “name” çıktısı “Replbde Kodu” şeklinde olacaktır.

Replace Metodu

public string ReplaceName(string name) { return name.Replace(" - ", "-").Replace(" ? ", "-").Replace(" ? -", "-").Replace(" ?", "").Replace(" ", "-").Replace("?", "").Replace(":", "-").ToLower().Replace("ç", "c").Replace("ı", "i").Replace("ş", "s").Replace("ö", "o").Replace("ü", "u").Replace("ğ", "g").Replace(",", "-").Replace("'", "-").Replace(".","-").Replace("#", "sharp"); }

“name” olarak alınan string ifade “Replace” komutuyla düzenlenip geri gönderiliyor.

Birkaç Replace koduna bakalım;

Replace(” – “, “-“): Burada başında ve sonunda boşluk olup ortasında kısa çizgi bulunan bir stringi tek bir kısa çizgiye çeviriyor. Bu yöntemle urldeki boşlukları silmiş oluyoruz.

Replace(” ?”, “”): Burada ise başında boşluk olup sonunda boşluk olmayan soru işaretli string ifadeyi “” ile siliyor. Bkz: “Replace Kodu Nasıl Kullanılır ?” başlığını tabi diğer Replace komutlarınıda uygulayarak “Replace-Kodu-Nasil-Kullanilir” yapıyor. Sondaki “ ?” boşluk ve soru işareti karakterlerini siliyor.

Replace(“ı”, “i”): Burada ise Türkçe bir harf olan “ı” harfini “i” harfine çeviriyor. Üstteki örnekte görüldüğü gibi.

Replace(” “, “-“): Boşluk bulunan yerlerde -özellikle kelimelerin arasında- boşluk yerine “-“ ile ayırma yapıyor.

Replace(“#”, “sharp”): Son olarak ise “#” gibi özel karakterlere bir atama yapabiliriz.

Bkz: “C# – Replace Metodu” başlığının urlde gözükmesi “Csharp-Replace-Metodu” şeklinde olacaktır.

Not: Replace kodu –eğer işlem yapmadıysanız- büyük harfleri küçük harf yapmaz.

Replace Metodu Nasıl Kullanılır?

Projelerimde bu metodu model sınıfı(class) oluşturup içerisine yazarak kullanmaktayım. Bu sayede View dosyalarında;

<a href=”@Url.Action(“PostDetails”, “Posts”, new { id = Model.ReplaceName(post.PostHeader) })”>

şeklinde kullanarak kolay bir kullanım sunmaktayım. Bu işlemden sonra “Action” kısmına gelecek olan düzenlenmiş değeri alıp, veritabanından gelen aslı ile şu şekilde eşitliyorum;

public ActionResult PostDetails(string id) { BlogModel _model= new BlogModel(); //Models klasörüm içindeki BlogModel.cs dosyam var post  = db.Posts.FirstOrDefault(x => _model.ReplaceName(x.PostHeader) == id); return View(post); }

Bir yazımın daha sonuna geldik. Bir sonraki paylaşımlarımda görüşmek dileğiyle… Sevgiyle kalın.

 

Bir cevap yazın

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