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

如果操作方法使用ActionName MVC属性进行修饰,则获取其原始名称

是指在ASP.NET MVC框架中,可以使用ActionName属性来修改操作方法的名称。通过使用ActionName属性,可以将操作方法的名称与其在代码中的实际名称进行解耦,从而提高代码的可读性和可维护性。

具体而言,当一个操作方法被修饰为ActionName属性时,可以通过该属性指定一个替代的名称,用于在路由匹配和URL生成过程中使用。这样,即使操作方法的实际名称发生变化,其对应的URL仍然可以保持不变。

在ASP.NET MVC中,可以通过以下方式使用ActionName属性:

代码语言:txt
复制
[ActionName("OriginalName")]
public ActionResult ModifiedName()
{
    // 操作方法的实现代码
}

在上述示例中,操作方法的实际名称为"ModifiedName",但通过ActionName属性指定了一个替代的名称"OriginalName"。这意味着,无论是在路由匹配还是在生成URL时,都应该使用"OriginalName"作为操作方法的名称。

ActionName属性的优势包括:

  1. 提高代码的可读性和可维护性:通过将操作方法的名称与其在代码中的实际名称解耦,可以使代码更易于理解和维护。
  2. 灵活地修改操作方法的名称:通过修改ActionName属性的值,可以轻松地更改操作方法的名称,而无需修改与该方法相关的路由和URL生成逻辑。

适用场景:

  • 当需要修改操作方法的名称,但又不希望影响与该方法相关的路由和URL生成逻辑时,可以使用ActionName属性。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发:https://cloud.tencent.com/product/mobile
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云虚拟专用网络(VPC):https://cloud.tencent.com/product/vpc
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET MVC5+EF6+EasyUI 后台管理系统(21)-权限管理系统-跑通整个系统

首先我们要理解一下筛选器 筛选器的由来及用途 有时,您需要在调用操作方法之前或运行操作方法之后执行逻辑。 为了对此提供支持,ASP.NET MVC 提供了筛选器。...这些筛选器用于实现 IAuthorizationFilter 和做出关于是否执行操作方法(如执行身份验证或验证请求的属性)的安全决策。...{ get; set; },其中ActionName是自定义Action的名称,比如在Create中直接[SupportFilter]那么ActionName取得就是Create,这将和你的数据库操作码进行对应的...,那么我的方法是CreateAttr,那么要使用Create这个操作码,怎么办 那么就是 [SupportFilter(ActionName = "Create")] public ActionResult...如果你没有读懂,那么代码敲一遍,那么你也就差不多知道了 代码进行了大量的注释,还不懂那么留言。

2.4K70
  • 如何使用Serilog.AspNetCore记录ASP.NET Core3.0的MVC属性

    第1部分-使用Serilog RequestLogging减少日志详细程度 第2部分-使用Serilog记录所选的终结点属性 第3部分-使用Serilog.AspNetCore记录MVC属性(本文) 第...其他属性,例如MVC特定的功能,像操作方法ID,RazorPages处理程序名称或ModelValidationState,仅在MVC上下文中可用,因此Serilog的中间件不能直接访问。...使用自定义过滤器记录MVC属性 过滤器相当于为每个请求运行的类似于MVC的微型中间件管道。....Action过滤器在执行MVC操作方法之前和之后运行。他们可以访问许多MVC属性的值,例如正在执行的Action及其将被调用的参数。 下面的Action过滤器直接实现IActionFilter。...有了这个配置之后,如果你调用一个MVC控制器,你在Serilog的请求日志消息中会看到额外的数据(ActionName,ActionId,和RouteData,ValidationState)记录: ?

    3.6K10

    ASP.NET MVC下基于异常处理的完整解决方案

    异常处理Action方法默认采用“On{Action}Error”这样的命名规则,而当前上下文会与异常处理操作方法的参数进行绑定。...除次之外,我们会设置当前ModelState的错误信息; 如果用户不曾定义相应的异常处理Action,依然采用“错误页面重定向”方式进行异常处理。...:如果用户名不是“Foo”抛出InvalidUserNameException异常;如果密码不是“password”抛出UserNamePasswordNotMatchException异常。...我们专门针对SignIn操作方法抛出的InvalidUserNameException和UserNamePasswordNotMatchException进行了处理,而ErrorMessageSettingHandler...属性ExceptionPolicy是一个基于指定的异常策略名称创建的ExceptionPolicyImpl 对象,用于针对EntLib进行的异常处理。

    1.1K70

    Serilog高级玩法之用Serilog记录所选终结点附加属性

    在本文中,我将展示如何向Serilog的摘要请求日志中添加其他元数据,例如请求的主机名,响应的内容类型或从ASP.NET Core 3.0中使用的终结点路由中间件所选择的端点名称。...本文中使用的所有日志图片均来自一款优秀的为结构化日志提供可视化界面的工具-Seq 显然,原始的日志集更加冗长,并且其中大部分不是特别有用的信息。...但是,如果您将原始的10条日志作为一个整体来看,与Serilog摘要日志相比,它们确实会在结构日志模板中记录一些其他属性。...但是MVC的相关属性是个例外,它们是MVC中间件“内部”的特性,例如action 名称或RazorPage处理程序名称。在下一篇文章中,我将展示如何将它们添加到Serilog请求日志中。...这些属性将作为附加属性添加到Serilog生成的结构化日志中。在下一篇文章中,我将展示如何将MVC特定的属性值添加到请求日志中。敬请期待吧!

    1.7K10

    ASP.NET MVC路由扩展:链接和URL的生成

    如果在构造UrlHelper的时候没有指定RouteCollection对象,那么通过RouteTable的静态属性Routes表示的全局路有表将直接被使用。...如果我们没有显示地指定Controller的名称(controllerName参数),那么当前Controller的名称被采用。...,后者只是使用通过RouteTable的Routes静态属性表示的全局路由表。...如果没有指定主机名称,我们采用当前请求的主机名称,并且使用当前的端口;如果没有指定传输协议,直接使用“http”。...RouteUrl方法来说,它还是利用整个路由表进行URL的生成,如果显示指定了路由对象的注册名称,那么就会从路由表中获取相应的路由对象,如果该路由对象与指定的变量列表不匹配,返回Null;否则返回生成的

    1.7K70

    ASP.NET MVC学习笔记02控制器和路由

    Step1:添加控制器 右键点击解决方案管理器中的Controllers,单击MVC 5控制器 - 空,然后单击“添加”。名称填写为HelloController。 ?...ASP.NET MVC会调用不同的控制器类(和其内部不同的操作方法)这取决于传入URL。 所使用的ASP.NET MVC的默认URL路由逻辑使用这样的格式来判定哪些代码以便调用。...在RouteConfig.cs中,定义路由规则的格式如下: /[Controller]/[ActionName]/[Parameters] 路由的组成 如果应用程序并没有提供任何URL段的,默认为“Home...如果没 有明确的指定操作方法,Index方法会默认的被控制器类调用。 第三部分的URL段(Parameters参数)是路由数据。...默认的MVC映射为 /[Controller]/[ActionName]/[Parameters] 对于这个URL,控制器类是Hello,操作方法是Welcome,目前还没有使用过URL的[Parameters

    1.5K40

    ASP.NET MVC三个重要的描述对象:ControllerDescriptor

    如下面的代码片断所示,ControllerDescriptor具有三个属性,其中ControllerName和ControllerType分别表示Controller的名称和类型,前者来源于路由信息;字符串类型的...如下面的代码片断所示,表示Controller类型的ControllerType属性在构造函数中指定。...当我们调用FindAction方法根据Action名称获取对应ActionDescriptor的时候,在默情况下会将方法名称视为Action名称进行匹配。...名称的Action方法,返回Null,而最终会导致一个状态码为404的HttpException异常的抛出;如果具有多个匹配的Action方法,直接抛出AmbiguousMatchException...在根据指定的Action名称对方法成员进行匹配的时候会自动忽略掉方法名称的“Async”和“Completed”后缀。

    69870

    ASP.NET MVC三个重要的描述对象:ControllerDescriptor和ActionDescriptor的创建

    GetControllerDescriptor( ControllerContext controllerContext); 11: } 我们所有要了解的是在默认情况下(没有对Controller类型的ActionInvoker属性进行显式设置...将ActionInvoker属性的类型名称呈现出来。...这个实例演示告诉我们:当我们需要使用到自定义的ActionInvoker的时候,可以通过自定义DependencyResolver以IoC的方式提供具体的ActionInvoker实例。...如果Action方法名称包含“Async”后缀,并且存在一个对应的以“Completed”后缀的方法,对应的ActionDescriptor是一个ReflectedAsyncActionDescriptor...我们通过Visual Studio的ASP.NET MVC项目模板创建一个空Web应用,并创建一个默认的HomeController,然后对其进行如下的修改。

    62280

    Asp.Net Web API 2第五课——Web API路由

    如果你熟悉Asp.Net MVC,Web API的路由与Asp.Net MVC的路由是非常类似的。这主要的区别就是Web API使用的是HTTP方法,而不是URI路径来选择Action。...你也可以在Web API中使用MVC风格的路由。本文不需要有任何Asp.Net MVC的基础。...HTTP方法 替代使用HTTP方法的命名约定,你可以明确的为一个Action指定HTTP方法,通过以HttpGet、HttpPost、HttpPut或者HttpDelete属性来对Action方法进行修饰...采用这种风格的路由,需要使用注解属性来指明所允许的HTTP方法。...这种风格的路由类似于Asp.Net MVC,而且可能与RPC式的API相接近。(RPC风格不太懂,还没查资料) 你也可以通过使用ActionName注解属性来覆盖动作名。

    1.2K50

    HtmlHelper(辅助产生HTML之用)

    弱类型: 1.使用HTML辅助方法输出超链接 (1)在View中输出ASP.NET MVC的超链接通常会用Html.ActionLink辅助方法,该方法用于产生文字链接,其文字部分会自动进行HTML编码...请注意:由于HTML标签里在套用CSS样式类型时会用到class属性名称,而在C#里class属于关键字,所以必须使用@class的方式,才能确保C#正确编译。...此外,如果要输出HTML属性包括减号(-)时,例如data-value属性,应使用“_”下划线代替。...@Html.ActionLink("链接文字","ActionName","ControllerName", null,new{@class="btnLink"}) 5个参数 使用Html.AcionLink...2.使用Html方法辅助生成表单 强类型:属于强类型的辅助方法命名方式皆为“原先的名称最后加上For” 更多转自:http://www.cnblogs.com/yytesting/p/4987633.html

    1.1K30

    通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现:路由整合

    模拟框架采用真实MVC框架的设计和实现原理,但是会在各个环节进行最大限度地简化。我们希望读者朋友们通过这个模拟框架对MVC框架的设计与实现具有一个总体的认识。源代码从这里下载。...)上没有标注任何路由特性,它对应的路由终结点将采用这个约定路由来创建,具体的路由模板将使用真正的Controller和Action名称(“Foo/Bar/{id?}”)。...如果没有标注这样的特性,意味着可能会采用约定路由,所以我们需要将当前Controller和Action名称填充到RouteValues属性表示的”必需路由参数值字典”中。...约定路由可以直接通过调用AddRoute方法进行注册,由于该方法使用自增的_order字段作为注册路由的Order属性,所以先注册的路由具有更高的选择优先级。...task : Task.CompletedTask; } } 如果Controller实例对应的类型派生于抽象基类Controller,我们会对它的ActionContext属性进行设置。

    1.2K30

    ASP.NET MVC是如何运行的: URL路由

    目标Controller和Action的名称包含在HTTP请求中,而ASP.NET MVC的首要任务就是通过当前HTTP请求的解析得到正确的Controller和Action的名称。...表示Controller和Action名称的同名属性直接从Values字典中提取,对应的Key分别为controller和action。...在实现的GetRouteData方法中,通过HttpContextBase获取相对请求地址,如果该地址与定义在模板中的URL模式相匹配创建一个RouteData返回;否则返回Null。...对于返回的RouteData对象,其Values属性表示的字典包含直接通过地址解析出来的变量,而对于DataTokens字典和RouteHandler属性直接取自Route对象的同名属性。...三、UrlRoutingModule 路由表的目的在于对当前的HTTP请求进行解析从而获取一个以Controller和Action名称为核心的路由数据,即上面介绍的RouteData,而整个解析工作是通过一个类型为

    1.8K60

    ASP.NET MVC编程——视图

    基本规则 1)变量 @后直接变量即可 2)代码块 为使用表达式或多行代码,@后跟大括号将多行代码包括在大括号中 3)“+” 对于加号连接的两个字符串变量或属性使用小括号将他们括起来 4)插入HTML或文字...actionName:操作名称 controllerName:控制器名称 protocol:URL 协议,如“http”或“https”。...视图名称可以是控制器操作方法名称也可以不是,若不是控制器操作方法名称,控制器返回视图时要指定视图名。...2)使用html帮助方法 使用Html.Partial直接调用部分视图而不是通过控制器操作方法。...Scott Allen,孙远帅/邹权译  ASP.NET MVC4 高级编程(第四版) 3.黄保翕,ASP.NET MVC4开发指南 4.蒋金楠,ASP.NET MVC4框架揭秘 5.https://www.asp.net

    3K100

    ASP.NET MVC是如何运行的(4): Action的执行

    ); 4: } ControllerContext类型在真正的ASP.NET MVC框架中要负责一些,在这里我们对它进行了简化,仅仅将它表示成对当前Controller和请求上下文的封装,而这两个要素分别通过如下所示的...由于Action方法具有相应的参数,在执行Action方法之前必须进行参数的绑定。ASP.NET MVC将这个机制成为Model的绑定,而这又涉及到另一个重要的组件ModelBinder。...如果参数类型为字符串或者简单的值类型,我们直接根据参数名称和Key进行匹配;对于复杂类型(比如之前例子中定义的包含Contrller和Action名称的数据类型SimpleModel),通过反射根据类型创建新的对象并根据属性名称与...Key的匹配关系对相应的属性进行赋值。...然后遍历MethodInfo的参数列表,对于每一个ParameterInfo对象,我们将它的Name和ParameterType属性表示的参数名称和类型连同创建ControllerContext作为参数调用

    1.1K101
    领券