.net 方法属性与方法中的参数?

.net 方法属性与方法中的参数?,.net,asp.net-mvc-2,attributes,.net,Asp.net Mvc 2,Attributes,如果重要的话,这是在ASP.NET MVC2中-我该如何做-我该如何将“id”参数应用于属性?以下语法显然不起作用:) 在计算属性时,Browse函数的id参数不在范围内。因此,您无法执行此操作。在计算属性时,浏览函数的id参数不在范围内。因此,您不能这样做。属性参数和属性值必须在编译时已知,通常是文本 不能将方法参数传递给属性 根据您尝试执行的操作,会有不同的方法,但如果没有您尝试执行的操作的详细信息,则很难提出建议。必须在编译时知道属性参数和属性值,通常是文字 不能将方法参数传递给属性 根据

如果重要的话,这是在ASP.NET MVC2中-我该如何做-我该如何将“id”参数应用于属性?以下语法显然不起作用:)


在计算属性时,Browse函数的id参数不在范围内。因此,您无法执行此操作。

在计算属性时,浏览函数的id参数不在范围内。因此,您不能这样做。

属性参数和属性值必须在编译时已知,通常是文本

不能将方法参数传递给属性


根据您尝试执行的操作,会有不同的方法,但如果没有您尝试执行的操作的详细信息,则很难提出建议。

必须在编译时知道属性参数和属性值,通常是文字

不能将方法参数传递给属性


根据您尝试执行的操作,会有不同的方法,但如果没有您尝试执行的操作的详细信息,则很难提出建议。

与其尝试在属性构造函数中设置,不如在其中一个事件处理程序中设置Projectd?您可以通过上下文对象访问RouteData

public override void OnAuthorization(AuthorizationContext filterContext)
    {
        ProjectId = filterContext.RouteData.Values["id"].ToString();
    }

您只需要确保在具有id参数的方法上使用它,或者在OnAuthorization方法中执行某种类型的验证检查。

与其尝试在属性构造函数中设置,不如在其中一个事件处理程序中设置ProjectId?您可以通过上下文对象访问RouteData

public override void OnAuthorization(AuthorizationContext filterContext)
    {
        ProjectId = filterContext.RouteData.Values["id"].ToString();
    }

您只需要确保在具有id参数的方法上使用它,或者在OnAuthorization方法中执行某种类型的验证检查。

您是否忘记了问题的另一半?目前,这毫无意义!不是真的-我想获取提供给Browse()的“id”并将其提供给AuthorizeProject(自定义属性),但显然我不能这样做。您必须在调用该方法之前这样做。通常使用url路由器。您是否使用AuthorizeProjectAttribute继承AuthorizeAttribute?您是否忘记了问题的另一半?目前,这毫无意义!不是真的-我想获取提供给Browse()的“id”并将其提供给AuthorizeProject(自定义属性),但显然我不能这样做。您必须在调用该方法之前这样做。通常使用url路由器。是否使用AuthorizeProjectAttribute从AuthorizeAttribute继承?