我想做这样的事情
[MyAttribute(Message="Please upgrade to view " + name)]
public ActionResult Details(string name)
{
....
}
我知道我可以从属性代码本身内部调用filterContext.ActionDescriptor.GetParameters()
,但有没有办法在控制器中使用它们?
答案 0 :(得分:2)
实现此目的的正确方法是使用自定义操作过滤器并在内部使用filterContext.ActionDescriptor.GetParameters()
或从RouteData
获取所需参数。您不能在属性声明中包含动态值,因为属性表示在编译时烘焙到程序集中的元数据=> .NET不允许你这样做。在属性声明中只能使用静态或常量参数。