If you decorated action method with [NonAction] attribute you can't access that through URL.We can restrict this by using private also,but in some scenarios we need public access so by decarating with [NonAction] attribute we can prevent.
This is indicate that a controller method is not an action method.
Example:
[NonAction]
public void IndexTest()
{
// Do some thing
}
this is very useful attribute when visibility of controller 's method cannot be changed to private.