【问题标题】:can i set a role description when adding a new role添加新角色时可以设置角色描述吗
【发布时间】:2010-11-03 10:36:52
【问题描述】:

添加角色时(使用 asp.net 的角色提供程序),我找不到添加角色的方法,包括描述。

SQL 中的 asp.net 角色表提供了角色描述,但唯一可用的方法是:

Roles.CreateRole(string RoleName);

没有多余的描述。

是否有开箱即用的方式来包含描述?还是我应该自己解决这个问题?

【问题讨论】:

    标签: c# asp.net roleprovider


    【解决方案1】:

    您现在可能已经发现,没有直接的方法可以获取描述。它之所以存在,是因为它是 BaseProvider 的成员。现在,创建自己的方法来添加对描述的支持非常简单。虽然你不能扩展 Roles 类,但你可以这样做:

    public static class RolesEx
    {
      public static void CreateRole(string roleName, string description)  
      {  
        Roles.CreateRole(roleName);
    
        var c = new SqlConnection("connString");  
        var cmd = c.CreateCommand();
        cmd.CommandText =
          string.Format(
            "UPDATE aspnet_Roles SET Description = '{0}' WHERE ApplicationId = (SELECT ApplicationId FROM aspnet_Applications WHERE LoweredApplicationName = '{1}') AND  LoweredRoleName = '{2}'",
            description, Roles.ApplicationName.ToLower(), roleName.ToLower());
        cmd.CommandType = CommandType.Text;
        c.Open();
        var i = cmd.ExecuteNonQuery();
        c.Close();
      }
    }
    

    如果代码看起来很乱,我深表歉意。这是我在这里的第一篇文章o.O'

    【讨论】:

    • 赞赏,是的......没有开箱即用的方法......也转向了这个。
    猜你喜欢
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 2017-09-21
    相关资源
    最近更新 更多