求教 判断逻辑,该怎么处理
求教 判断逻辑
/// <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>
/// 代表系统内置的角色
/// </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 = "普通用户";
}
------解决方案--------------------
- C# code
string InRoles = "1;2;3;4";//得到角色 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(';');//管理员;普通用户
------解决方案--------------------
- C# code
public string GetRole(string InRoles) { 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); }