Mvc Razor Page String Replace



Selamlar, Bu yazımızda MVC'de kullandığımız Razor kullanımının replace methodunu yazacağız. Kullanımı gayet basit. İlk olarak "StringReplace" adında bir method yazcağız.
Bu methodumuz iki paremetre alıcak. Bir "string" değer bir de "" tipinde class. Methodumuz şu şekilde ;

  public static string StringReplace(string template, T model)
        {
            try
            {
                return Razor.Parse(template, model);
            }
            catch (Exception ex)
            {

                return "Razor Parse Hatası : " + ex.ToString();
            }

        }

Ben kendim "ProductModel" adında örnek bir nesne oluşturarak replace methodunu kullandım. tipinde parametre almamızın sebebi istediğimiz classı parametre olarak verebilmek için. Örnek kullanım şu şekilde ; ProductModel kısmında ekstra birşey yok. Üç adet property var.

 public class ProductModel
    {
        public string Name { get; set; }
        public string Category { get; set; }
        public decimal Price { get; set; }
    }
MVC Controller tarafında ise şu tarzda kullanabiliriz ;
  public ActionResult Index()
        {
            string razorString = "@Model.Name adında bir ürünümüz var. Bu ürünün fiyatı @Model.Price değerinde ve @Model.Category kategorisinde bulunuyor.";
            var productModel = new ProductModel
            {
                Category = "Ayakkabı",
                Name = "Krampon",
                Price = 187
            };
            return Content(StringReplace(razorString, productModel));
        }
Yazdığımız string değerinde içinde ki "@Model.Name, @Model.Category ve @Model.Price" değerlerinin ProductModel içerisinde ki propertylerin adları olduğunu görüceksiniz. Ben çıktısını direk olarak sayfaya bastım.
Siz farklı şekillerde kullanabilirsiniz. MVC Razor Page kullanımı bu şekilde gayet basit.

 

Yorum Yaz