ASP MVC C#:是否可以将动态值传递给属性?

好吧,我是C#的新手,我正在尝试使用ASP MVC2创建一个小网站。

我想创建自己的授权属性。 但如果可能,我需要传递一些值。

例如:

[CustomAuthorize(GroupID = Method Parameter?] public ActionResult DoSomething(int GroupID) { return View(""); } 

我想授权访问页面。 但它取决于传递给控制器​​的值。 因此授权取决于groupID。 这有可能以任何方式实现这一目标吗?

提前致谢。

使用值提供者:

 public class CustomAuthorizeAttribute : FilterAttribute, IAuthorizationFilter { public void OnAuthorization(AuthorizationContext filterContext) { var result = filterContext.Controller.ValueProvider.GetValue("GroupId"); //groupId should be of type `ValueProviderResult` if (result != null) { int groupId = int.Parse(result.AttemptedValue); //Authorize the user using the groupId } } 

}

本文可能对您有所帮助。

HTHS,
查尔斯

你从Request.Form得到它

 public class CustomAuthorizeAttribute : AuthorizeAttribute { protected override bool AuthorizeCore(HttpContextBase httpContext) { //httpContext.Request.Form["groupid"] return base.AuthorizeCore(httpContext); } } 

你从Request.Form得到它

public class CustomAuthorizeAttribute:AuthorizeAttribute {protected override bool AuthorizeCore(HttpContextBase httpContext){// httpContext.Request.Form [“groupid“] return base.AuthorizeCore(httpContext); }}