如果重要的话,这是在ASP.NET MVC2中-我如何做到这一点-我如何将"id“参数应用于属性?以下语法显然不起作用:)
[AuthorizeProject(ProjectId = id)]
public ActionResult Browse(int id)
{
// Stuff
return View();
}
发布于 2010-08-17 08:24:45
不是尝试在属性构造函数中设置,而是在一个事件处理程序中设置ProjectId呢?您可以通过context对象访问RouteData。
public override void OnAuthorization(AuthorizationContext filterContext)
{
ProjectId = filterContext.RouteData.Values["id"].ToString();
}
您只需要确保在具有id参数的方法上使用它,或者在OnAuthorization方法中执行某种类型的验证检查。
发布于 2010-08-17 08:08:01
在计算属性时,Browse函数的id参数不在作用域中。因此,您不能这样做。
发布于 2010-08-17 08:08:18
属性参数和属性值必须在编译时已知,通常是字面值。
不能将方法参数传递给属性。
根据你正在尝试做什么,会有不同的方法,但没有你正在尝试做的细节,很难提出建议。
https://stackoverflow.com/questions/3500399
复制相似问题