/// <summary>
/// 代表系统内置的角色
/// </summary>
public enum BuiltInRole
{
/// <summary>
/// 管理员角色
/// </summary>
Administrator=1, /// <summary>
/// 普通用户
/// </summary>
Normal, /// <summary>
/// 录入人员
/// </summary>
Writer,
/// <summary>
/// 编辑人员
/// </summary>
Editor,
/// <summary>
/// 审核人员
/// </summary>
Auditing,
/// <summary>
/// 签发人员
/// </summary>
Signatory
}这里面一共有6种类型,可多选,比如我在网站选择了录入人员和编辑人员,在数据库里面就会写下 3;4; 这种格式
3;4; 就代表了录入人员和编辑人员。我想把它显示在网页里面,比如 数据库里面一行是1;2;3;4 要显示出 管理员角色;普通用户;录入人员;编辑人员 这种样式。不知道我表达的明不明白,请大家帮帮忙啦。我已经写了一小段,但是不知道怎么判断还有没有别的值 if (Session["InRoles"].ToString() == "2;") { this.Label11.Text = "普通用户"; }
/// 代表系统内置的角色
/// </summary>
public enum BuiltInRole
{
/// <summary>
/// 管理员角色
/// </summary>
Administrator=1, /// <summary>
/// 普通用户
/// </summary>
Normal, /// <summary>
/// 录入人员
/// </summary>
Writer,
/// <summary>
/// 编辑人员
/// </summary>
Editor,
/// <summary>
/// 审核人员
/// </summary>
Auditing,
/// <summary>
/// 签发人员
/// </summary>
Signatory
}这里面一共有6种类型,可多选,比如我在网站选择了录入人员和编辑人员,在数据库里面就会写下 3;4; 这种格式
3;4; 就代表了录入人员和编辑人员。我想把它显示在网页里面,比如 数据库里面一行是1;2;3;4 要显示出 管理员角色;普通用户;录入人员;编辑人员 这种样式。不知道我表达的明不明白,请大家帮帮忙啦。我已经写了一小段,但是不知道怎么判断还有没有别的值 if (Session["InRoles"].ToString() == "2;") { this.Label11.Text = "普通用户"; }
case "1":
this.Label11.Text = "";
break;
case "2":
this.Label11.Text = "";
break;
case "3":
this.Label11.Text = "";
break;
case "4":
this.Label11.Text = "";
break;
}
然后循环这个数组
根据role值拼接你的显示字符串
StringBuilder sb = new StringBuilder();
foreach (var item in InRoles.Split(';'))
{
switch (item)
{
case "1":
sb.Append("管理员;");
break;
case "2":
sb.Append("普通用户;");
break;
}
}
string _result = sb.ToString().TrimEnd(';');//管理员;普通用户
{
string roles = "";
foreach (string role in Session["InRoles"].ToString().Split(';'))
{
switch (role)
{
case "1":
roles += "管理员角色;";
break;
case "2":
roles += "普通用户;";
break;
case "3":
roles += "录入人员;";
break;
case "4":
roles += "编辑人员;";
break;
case "5":
roles += "审核人员;";
break;
case "6":
roles += "签发人员;";
break; }
}
return roles.TrimEnd(';');
}
是这个意思?
1 admin 1;
2 system 1;2;3;
3 Anonymous
4 test 2;3;4;
5 111111 3;5;
各位,在数据库里面是这样格式的,不过每次只列出一个用户的InRoles就可以了
比如 现在我登录的帐号是test 网页上的Label就要显示出 普通用户;录入人员;编辑人员
{
string roles = "";
foreach (string role in InRoles.Split(';'))
{
switch (role)
{
case "1":
roles += "管理员角色;";
break;
case "2":
roles += "普通用户;";
break;
case "3":
roles += "录入人员;";
break;
case "4":
roles += "编辑人员;";
break;
case "5":
roles += "审核人员;";
break;
case "6":
roles += "签发人员;";
break; }
}
return roles.subString(0,roles.length-1);
}
+
这个就行,你把从数据库里取出的值,用这个方法,处理一下就行了