日期:2014-05-17  浏览次数:20465 次

求教 判断逻辑
/// <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);
    }