加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 确定哪个控制器和操作在ASP.NET MVC中处理特定的

发布时间:2020-12-15 23:05:13 所属栏目:asp.Net 来源:网络整理
导读:给定一个特定的URL,如何确定哪个控制器操作被路由到(可能在具有许多控制器和复杂路由注册表的大型应用程序的上下文中)? 我不是问如何配置路由. 解决方法 这样的控制器: string controller = RouteData.GetRequiredString("controller"); 并采取行动: stri
给定一个特定的URL,如何确定哪个控制器操作被路由到(可能在具有许多控制器和复杂路由注册表的大型应用程序的上下文中)?

我不是问如何配置路由.

解决方法

这样的控制器:
string controller = RouteData.GetRequiredString("controller");

并采取行动:

string action = RouteData.GetRequiredString("action");

例如,您可以在基本控制器类中使用它:

public class YouControllerBase: Controller
    {
          protected override void Execute(System.Web.Routing.RequestContext requestContext)
          {
              string controller = requestContext.RouteData.GetRequiredString("controller");
              string action = requestContext.RouteData.GetRequiredString("action");
          }
   }

或者在global.asax中使用它

protected void Application_BeginRequest(object sender,EventArgs e)
    {
        RouteData routeData = RouteTable.Routes.GetRouteData(
            new HttpContextWrapper(HttpContext.Current));
        var action = routeData.GetRequiredString("action");
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读