添加角色时(使用asp.net的角色提供程序),我找不到添加角色(包括描述)的方法。
SQL 中的 asp.net 角色表提供了角色描述,但唯一可用的方法是:
Roles.CreateRole(string RoleName);
没有过多的内容来包含描述。
有没有一种开箱即用的方式来包含描述?或者我应该自己解决这个问题?
最佳答案
正如您现在可能发现的那样,没有直接的方法来获取描述。它之所以存在只是因为它是 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´
关于c# - 添加新角色时可以设置角色描述吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4086154/