2021-04-29 乐帮网
mvc netcore
在ASP.Net Core的MVC中我们可以通过ActionModel来修改Action的名称。以下代码修改了ActionModel,以更新其应用的操作名称。新名称作为属性的参数提供。此新名称用于路由,因此它会影响访问的Url路径:
using System;
using Microsoft.AspNetCore.Mvc.ApplicationModels;
namespace AppModelSample.Conventions
{
public class CustomActionNameAttribute : Attribute, IActionModelConvention
{
private readonly string _actionName;
public CustomActionNameAttribute(string actionName)
{
_actionName = actionName;
}
public void Apply(ActionModel actionModel)
{
// this name will be used by routing
actionModel.ActionName = _actionName;
}
}
}
此属性适用于Home控制器中的操作方法:
// Route: /Home/MyCoolAction
[CustomActionName("MyCoolAction")]
public string SomeName()
{
return ControllerContext.ActionDescriptor.ActionName;
}
即使方法名称是"SomeName",该属性还是取代了使用方法名称的 MVC 约定,并将操作名称替换为 MyCoolAction。因此,用于达到此操作的路线是/Home/MyCoolAction.。
此方法针对ASP.Net Core框架下的MVC 结构程序。
参考链接:https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/application-model?view=aspnetcore-5.0
关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com
庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。
如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力