How find references for MVC controller methods in Visual Studio

Controller methods are not directly referenced from any part of the code (therefore 0 references), but they are dynamically invoked based on RouteTable which maps controller methods on startup RouteConfig.RegisterRoutes(RouteTable.Routes); in global.asax "implicitly" which would map them as /controller_name/action_name or these can be changed by either editing RouteConfig.RegisterRoutes(RouteCollection routes) or using attributes:

[Route("myAction")]
public ActionResult MyAction() {
...
}

which would bind it to /myAction (without controller name)

further reading:

MSDN - Understanding MVC Application Execution Process

Lifecycle of an ASP.NET MVC 5 Application

ASP.NET MVC Routing Overview


One of the options is Resharper - it more or less can determine where you use Html.ActionLink() or Html.BeginForm() that points to a controller action. But it won't detect any posts/redirects done from JS.

Also another thing you can do is use T4MVC to make the links from views statically typed, so you can search on references.

Text search through the solution can help, but not always good as you already discovered - how many references to string Index do you have in an average MVC project? So this will help with distinctive controller/action names, but not with common names.

Apart from that you are on your own. If you try doing something clever, like in JS concatenate strings to give you the right endpoint - you are in trouble.