33

Is there a way in a view in ASP.Net MVC to get the names of the controller and actien method that are using the view?

Pablo Fernandez
  • 279,434
  • 135
  • 377
  • 622

2 Answers2

46

Try this:

<%= ViewContext.RouteData.Values["Controller"] %>
<%= ViewContext.RouteData.Values["Action"] %>
eu-ge-ne
  • 28,023
  • 6
  • 71
  • 62
  • Those names will reflect the casing of request url. What you do with them should not be case-sensitive. (I fell in that trap.) – Frédéric Dec 21 '15 at 15:23
5
<%= ViewContext.RouteData.Values["Controller"] %>
<%= ViewContext.RouteData.Values["Action"] %>

Be aware that if along the way, your routing has passed through a redirect of some kind, then the those values will still refer to the original requested controller/action, not the "current" one.

So if a request to "/Home/Index" performs a redirect to "/Admin/Settings", then the above values will be "Home" and "Index" respectively and not "Admin" and "Settings" as perhaps may be expected or desired.

anewcomer
  • 975
  • 11
  • 6