Asp.net MVC Handling Unknown Actions

22 Ağu

Bu yazımızda controller sınıfımızdaki action metodları içinde bulunmayan bir action çağrıldığında bu çağrıyı yakalayıp duruma göre kullanıcıya mesaj verme işleminin nasıl yapılacağı konusuna değiniyor olacağız.

Controller sınıfları HandleUnknownAction() adında protected bir metoda sahiptir.

protected virtual void HandleUnknownAction(string actionName);

Bu metod bir action metodu çağrıldığında eğer istenen action bulunamazssa otomatik olarak devreye girer.örneğin browser üzerinden (/Product/olmayanMetod ) şeklinde olmayan bir action çağrıldığında HandleUnknownAction() metodu çalışacaktır.

Normalde olmayanMetod çağrıldığında metod 404 hatası fırlatmalıdır. Ancak biz HandleUnknownAction() metodunu ezerek kullanıcıya düzgün mesaj bildirimleri ile hataları gösterebiliriz. Özel oluşturduğumuz hata sayfasına yönlendirebiliriz.

    [HandleError]

public class HomeController : Controller

{

public ActionResult Index()       {

ViewData[“Message”] = “Welcome to ASP.NET MVC!”;

return View();

}

protected override void HandleUnknownAction(string actionName)

{

ViewData[“actionName”] = actionName;

View(“Unknown”).ExecuteResult(this.ControllerContext);

}

}