Folders are completely irrelevant in MVC. They have absolutely no impact on how routing works. In fact they give you a false sense of order. For routing purposes the (default) only thing that matters is the controller name and/or the route attributes. If you happen to have 2 controllers with the same name or route attributes, irrelevant of whether they are in different folders, they will collide at runtime. In some apps we don't even follow a "standard MVC" structure but rather break up controllers/views/models by feature area.
For ActionLink
the first value is the textual name. The second value is the action name (normally the method name). The last value, if any, is the name of the controller, minus the -Controller suffix. So ActionLink("Do Something", "List", "My")
would generate a link to the controller (in any folder) called MyController's
List
action.
Ultimately what happens is the method asks the runtime to generate the URL and the default convention is {controller}/{action}
. Note that it does take into account some customizations so it isn't necessarily a one to one mapping. Irrelevant when the URL is clicked then the router finds the correct controller by following the configured rules. Again, folders have absolutely no impact on this.