我的意思是 - 如果用户键入类似:
Http://somepage.com/iNdex/sOmEaCtIoN
我想获得 / Index / SomeAction (或者在我的控制器中调用的任何内容)。由于上面的URL由MVC引擎正确路由,我想应该有办法做到这一点。
编辑:
我想在我的视图中看到这一点。
编辑2:
我设法通过传递控制器的类型解决了我的问题:
ViewContext.Controller.GetType()
和
Request.Url.AbsolutePath
到我的方法 - 然后在搜索方法匹配时使用toLower() - 仍然最好只是获取将由当前请求调用的控制器和方法的名称...
答案 0 :(得分:1)
只是为了回答您的问题,您可以通过ViewContext直接访问视图中的路由值:
@ViewContext.RouteData.Values["controller"] @*controller name*@
@ViewContext.RouteData.Values["action"] @*action name*@
因此,在您的具体情况下,您可以这样做:
@string.Concat(ViewContext.RouteData.Values["controller"], "/", ViewContext.RouteData.Values["action"])
但是我个人仍然希望在控制器中获得那些必要的值,并通过viewmodel将它们传递给视图。