Quick tip: 09. jak "ukryć" metody publiczne w kontrolerze w ASP.NET MVC

W ASP.NET MVC domyślnie wszystkie metody publiczne zdefiniowane w klasie kontrolera są tzw. “action methods“, czyli możemy je wykonać podając odpowiedni adres url.

Czasami jednak chcielibyśmy, aby jakaś metoda była trochę bardziej ukryta przed światem. W ASP.NET MVC możemy tego dokonać dekorując daną metodę …

… atrybutem [NonAction].

Innym przydatnym atrybutem “zmniejszającym widoczność” metody jest atrybut [ChildActionOnly]. Dzięki niemu sprawimy, że dana metoda może być wykorzystana jedynie do wyrenderowania “widoku częściowego”, czyli można ją wywołać za pomocą metod Html.Action oraz Html.RenderAction, ale nie zostanie ona wywołana przy zapytaniu bezpośrednio z przeglądarki. Oczywiście w takim przypadku nasza metoda nie będzie również widoczna dla zapytań ajaxowych.

2 Responses

  1. Pingback: dotnetomaniak.pl
  2. dario-g 3 października 2011 / 08:48

    3. Najbezpieczniej podać wszystkie ścieżki explicite. :)

Comments are closed.