NonAction özniteliği; ASP.NET MVC’de action olarak kullanmak istenmeyen, fakat controller sınıfları içinde kullanmak istenilen metotlar için kullanılan özniteliktir.

Projelerimiz için yazılan metotların çoğunu sınıf dosyalarında tutarız. Eğer controller sınıfına public bir metot yazarsak bu dışarıya açılmış olur.

 

 

NonAction” özniteliği olan metot:

public ActionResult Index()
{
   MesajYaz();
   return View();
}

[NonAction]
public void MesajYaz()
{
   Response.Write("Merhaba ASP.NET MVC");
}

MesajYaz” metodunun action olmamasını istediğimiz için NonAction özniteliğini ekledik. Eğer bu metoda /Home/MesajYaz şeklinde ulaşmaya çalışırsak 404 hatası alırız. Aynı şekilde public olmayan bir metot içinde 404 hatası alırız.

public kullanmak zorunda kalırsak bu attribute’u kullanırız.

NonAction” özniteliği olmayan metot:

 

public ActionResult Index()
{
   MesajYaz();
   return View();
}

public void MesajYaz()
{
   Response.Write("<h1>Merhaba ASP.NET MVC</h1>");
}

/Home/MesajYaz şeklinde ulaşmaya çalışırsak başarıyla mesajımızı alırız.

Küçük bir ipucuydu.

Saygılarımla.