比如说 http://space.cnblogs.com/controller/action/ 最后的是action 前一个是controller,如果你想获取可以用
substrng()截取
你的意思是在view中获取controller和action名称吧
第一种:
获取controller名称:ViewContext.RouteData.Values["controller"]
获取action名称:ViewContext.RouteData.Values["action"]
第二种:
ViewContext.Controller.ValueProvider.GetValue("controller").RawValue
ViewContext.Controller.ValueProvider.GetValue("action").RawValue
这个不一定能活获取得到,因为路由重写不是固定格式。很简单的例子
http://域名/ 这是首页,可是在新建的示例中,它的路由规则对应的"{controller}/{action}/{id}" 所以是不确定的
我的意思是:给出一个url字符串,然后针对现有的路由规则获得controller和action名称。也就是分析url字符串。
asp.net mvc 给出url字符串如何获得对应的controller和action
这个可以通过在 Global.asax 进行路由规则的配置。
如果是想了解asp.net 的一些低层实现 可以看下这个系列的文章
http://www.cnblogs.com/zhangziqiu/archive/2009/02/27/ASPNET-MVC-1.html
微软已经提供了 非常方便的方法为什么 还要绕远路呢?
ViewContext.RouteData.Route.GetRouteData(this.Context).Values["controller"]
ViewContext.RouteData.Route.GetRouteData(this.Context).Values["action"]