首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在ASP.NET MVC中获取控制器中的路由名称?

在ASP.NET MVC中获取控制器中的路由名称,可以通过以下方法实现:

  1. 在控制器中使用RouteData属性获取路由名称:
代码语言:csharp
复制
string routeName = this.RouteData.Values["action"].ToString();
  1. 使用UrlHelper类获取路由名称:
代码语言:csharp
复制
UrlHelper urlHelper = new UrlHelper(this.ControllerContext.RequestContext);
string routeName = urlHelper.Action("ActionName", "ControllerName");

其中,ActionName是要获取路由名称的控制器方法名,ControllerName是控制器名。

  1. 使用HttpContext类获取路由名称:
代码语言:csharp
复制
HttpContext context = HttpContext.Current;
string routeName = context.Request.RequestContext.RouteData.Values["action"].ToString();

在这三种方法中,第一种方法是最简单的方法,直接通过RouteData属性获取路由名称。第二种方法使用UrlHelper类生成路由名称,可以在需要时使用。第三种方法使用HttpContext类获取路由名称,可以在任何地方使用。

需要注意的是,路由名称是根据路由配置生成的,如果路由配置不正确,可能会导致获取路由名称失败。因此,在使用这些方法之前,请确保路由配置正确。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    (1)处理流程   在ASP.Net MVC,客户端所请求URL是被映射到相应Controller去,然后由Controller来处理业务逻辑,或许要从Model取数据,然后再由Controller...aspx和ascx文件被用来处理视图职责; C: Controller 处理用户交互,从Model获取数据并将数据传给指定View;   (1)MVC作为架构模式理解 ?   ...(2)每个Controller都对应View一个文件夹,文件夹名称跟Controller名相同   (3)Controller方法名都对应一个View视图(非必须,但是建议这么做)而且View...查询数据时需要转换合适类型 在ViewPage查询数据时不需要类型转换 有一些类型转换代码 可读性更好   (6)如何在程序中使用ViewData与ViewBag   ①在Controller代码...所以,所有的请求都是要指定一个具体Action,Url格式是根据路由规则来定。那么,在ASP.Net MVC路由规则默认又是什么,在哪里设置呢?

    2K30

    ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    )处理流程   在ASP.Net MVC,客户端所请求URL是被映射到相应Controller去,然后由Controller来处理业务逻辑,或许要从Model取数据,然后再由Controller...aspx和ascx文件被用来处理视图职责; C: Controller 处理用户交互,从Model获取数据并将数据传给指定View;   (1)MVC作为架构模式理解   ...(1)Controller放到controllers文件夹,并且 命名方式以Controller结尾   (2) 每个Controller都对应View一个文件夹,文件夹名称跟Controller...查询数据时需要转换合适类型 在ViewPage查询数据时不需要类型转换 有一些类型转换代码 可读性更好   (6)如何在程序中使用ViewData与ViewBag   ①在Controller代码...所以,所有的请求都是要指定一个具体Action,Url格式是根据路由规则来定。那么,在ASP.Net MVC路由规则默认又是什么,在哪里设置呢?

    90120

    asp.net core 系列】3 视图以及视图与控制器

    0.前言 在之前几篇,我们大概介绍了如何创建一个asp.net core mvc项目以及http请求如何被路由转交给对应执行单元。这一篇我们将介绍一下控制器与视图直接关系。 1....所以asp.net core mvc 设置了在名为_ViewImports.cshtml文件添加引用,则在Views下所有视图中都生效。...1.3 视图检索 在上一节,我们指定了一个布局页名称。布局页也是视图中一种,但我们也只指定了名称,但没有指定路径。asp.net core是如何发现这个名称视图呢?...控制器与视图关系 在上一篇《【asp.net core 系列】2 控制器路由恩怨情仇》,我们介绍了三种创建控制器方法,并且最后推荐使用名字以Controller结尾并继承Controller类写法...我们分别使用ViewData和ViewBag以及ViewModel给视图传递了三个数据,那么如何在视图中获取这三个数据呢?

    2.5K10

    ASP.NET MVC5Model验证

    Model验证是ASP.NET MVC重要部分,它主要用于判断输入数据类型及值是否符合我们设定规则,这篇文章就介绍下ASP.NET MVCModel验证几种方式。...注意,Age属性上并未标注RequiredAttribute,却依然提示Age字段必须,这是因为Age是int类型,int类型不能为null,对于不能为null类型,ASP.NET MVC默认为是必须...除此之外,ASP.NET MVC还会帮助我们进行数据类型验证,,若在年龄一栏输入非整数,那么验证将不会通过,且会提示数值不合法。...除了我们自己手写js代码外,ASP.NET MVC也提供了前端验证方法,要启用ASP.NET MVC提供前端验证方法需要在页面引入三个js文件: jquery-1.10.2.min.js(也可以是其它版本...引用文件之后,运行程序,然后查看页面源代码,可以看到forminput标签多出了 data-val 属性以及其它和数据注解相关属性。 对于验证失败信息,我们需要对用户进行相应提醒。

    1.5K20

    ASP.NET MVCActionFilter是如何执行

    ASP.NET MVC四大筛选器(Filter),ActionFilter直接应用在某个Action方法上,它在目标Action方法执行前后对调用进行拦截以执行一些额外操作。...本篇文章主要讲述多一个应用到相同Action方法上ActionFilter执行机制。[本文已经同步到《How ASP.NET MVC Works?》...我们可以从ActionExecutingContext对象获取到用于描述当前ActionActionDescriptor,以及参数列表。...在通过Visual StudioASP.NET MVC项目模板创建空Web应用我们定义了如下三个ActionFilter(FooAttribute、BarAttribute和BazAttribute...如果异常是在非链头ActionFilterOnActionExecuted方法抛出,处理流程与此类似。 我们不妨举例说明Action链在执行过程对异常处理。

    1.6K70

    ASP.NET MVCASP.NET Web Form 介绍与区别

    MVC 模式分别为: Model:领域模型 处理应用程序数据逻辑部分,获取数据,处理数据 View:视图 用于处理实际返回给用户页面 Controller:控制器 通过Model 读取处理数据,通过View...19个管道事件 4 第七个管道事件: UrlRouting过滤器: 1 获取当前Reuqest对象RawUrl:此时 /Home/Index 2 去扫描当前路由规则集合所...,从上而下开始匹配,匹配成功了--{controller}/{action}/{id}这条路由规则,MVC底层就会根据路由规则解析出控制器名称 HomeController action:Index...3 调用DefaultControllerFactory反射创建控制器对象实例,存入RemapHandler 4 将 控制器和action名称以字符串形式存入RouteData...控制器对象实例 2从RoutData取出当前请求action名称 3 以反射方式动态执行action方法 4 action返回类型分为: 4.1 如果是一个视图类型:调用具体视图

    2.6K41

    Asp.net MVC 之 Contorllers(二)

    [译]Asp.net MVC 之 Contorllers(一) URL 路由HTTP模块通过获取 URL,然后调用合适执行方法处理进来请求。...最后,只有符合预定义 URL 格式(也就是路由请求,才被允许享用 ASP.NET MVC 运行时服务。所有这些请求都被路由到一个共同序实例化控制器HTTP处理程,并调用其中定义方法。...可以使用 ASP.NET MVC 应用程序 REST 方式,ASP.NET MVC 面向他是松耦合ASP.NET MVC 承认他概念,资源和行为,我们可以随意使用自己语法来表达和实现资源和行动行为...属性路由 NuGet ASP.NET MVC 5 包含 AttributeRouting 。属性路由是所有有关使用属性直接在控制器Action方法上定义路由。...了解更多信息(,配置),可以参考http://attributerouting.net,在 NuGe t包已经集成到 ASP.NET MVC

    1.9K60

    ASP.NET Core 基础知识】--MVC框架--Models和数据绑定

    ASP.NET Core MVC,Models类是连接控制器(Controller)和视图(View)之间桥梁,使得数据传递更为灵活和高效。...2.2 基本数据绑定 在ASP.NET Core MVC,基本数据绑定涉及将用户提交数据映射到控制器动作方法参数或直接映射到模型。...return View(); } 在这个例子,ProcessRequest 方法同时接收表单数据和查询字符串数据。 这些例子展示了如何在控制器动作方法中使用数据绑定特性,从不同来源获取数据。...2.4 视图中模型绑定 在ASP.NET Core MVC,视图中模型绑定是指将控制器传递给视图模型数据与视图中元素进行关联过程。...使用特性路由: 使用特性路由(Attribute Routing)来定义路由,而不是传统基于约定路由。特性路由使得路由配置更加直观、灵活,并且能够更好地描述控制器和动作关系。

    60210

    何在keras添加自己优化器(adam等)

    2、找到keras在tensorflow下根目录 需要特别注意是找到keras在tensorflow下根目录而不是找到keras根目录。...找到optimizers.pyadam等优化器类并在后面添加自己优化器类 以本文来说,我在第718行添加如下代码 @tf_export('keras.optimizers.adamsss') class...model.compile(loss='mean_squared_error', optimizer=sgd) 你可以先实例化一个优化器对象,然后将它传入 model.compile(),像上述示例中一样, 或者你可以通过名称来调用优化器...# 传入优化器名称: 默认参数将被采用 model.compile(loss=’mean_squared_error’, optimizer=’sgd’) 以上这篇如何在keras添加自己优化器...(adam等)就是小编分享给大家全部内容了,希望能给大家一个参考。

    45K30

    自己动手写一个简单MVC框架(第一版)

    2.2 模拟ASP.NET MVC,创建几个MVC文件夹   按照ASP.NET MVC惯例添加Controllers、Models和Views文件夹(不是必须): ?...三、改造DEMO:借助反射让多态发光 3.1 在Global文件模拟路由规则表   想想我们在ASP.NET MVC项目中是不是首先向程序注册一些指定路由规则,因此这里我们也在Global.asax...四、小结   本文首先回顾了一下MVC关键概念,并从一个“纯净”ASP.NET Web空项目开始一步一步构建一个类似于MVC应用程序,通过单一处理入口伪静态方式与模拟路由方式进行了简单地实现...路由模块就是一个很简单HttpModule(如果您对HttpModule不熟悉,请浏览我翻译一篇文章:ASP.NET应用程序和页面生命周期),而ASP.NET MVC帮我们实现了UrlRoutingModule...从而使我们轻松实现了路由机制,该机制获取路由数据,并制定处理程序(MvcHandler),执行MvcHandlerProcessRequest方法找到对应Controller类型,最后将控制权交给对应

    1K21

    ASP.NET Core MVC 概述

    ASP.NET Core MVC 是使用“模型-视图-控制器”设计模式构建 Web 应用和 API 丰富框架。 什么是 MVC 模式?...控制器职责 控制器 (C) 是处理用户交互、使用模型并最终选择要呈现视图组件。 在 MVC 应用程序,视图仅显示信息;控制器处理并响应用户输入和交互。...Core MVC 建立在 ASP.NET Core 路由之上,是一个功能强大 URL 映射组件,可用于生成具有易于理解和可搜索 URL 应用程序。...Core MVC 模型绑定将客户端请求数据(窗体值、路由数据、查询字符串参数、HTTP 头)转换到控制器可以处理对象。...区域是应用程序内一个 MVC 结构。 在 MVC 项目中,模型、控制器和视图等逻辑组件保存在不同文件夹MVC 使用命名约定来创建这些组件之间关系。

    6.4K20
    领券