如何将动态变量传递到asp.net mvc中的authorize属性类中
本文关键字:中的 mvc net authorize 属性 asp 动态 变量 | 更新日期: 2023-09-27 18:26:57
如何将动态变量传递到asp.net mvc中的authorize属性类中?
例如,我有这段代码,如何将userRoles变量这样的变量传递到Authorize属性类中?
private string userRoles;
private string getuserRoles()
{
//Write your code to get userRoles
userRoles = "admin";
return "admin";
}
[Authorize(Roles = object.getuserRoles())]
public ActionResult Admin()
{
ViewBag.Message = "Your contact page.";
return View();
}
我的代码发出此错误
错误1属性参数必须是常量表达式,类型为属性参数的表达式或数组创建表达式类型C:''Users''Nashat''Downloads''New文件夹(3) ''MvcPWy''Controllers''HomeController.cs 39 28 MvcPWy
所以请任何人帮我解决这个错误。
[Authorize(Roles = Roles.UserRoles)]
public ActionResult Index()
{
return View();
}
您必须为角色传递一个常量变量,类似于以下内容:
public static class Roles
{
public const string UserRoles = "UserRoles";
}
简单的答案是:你不能那样做。请查看前面的答案以了解更多详细信息。
请看一下-属性参数必须是常量表达式,…-创建类型为数组的属性
https://msdn.microsoft.com/en-us/library/aa288454(v=vs.71).aspx