我是asp.net的新手,我正在尝试实现我的角色提供程序,实际上是sql角色提供程序。在我的角色提供者中,我添加了:
public void AddUsersToRole(string[] usernames, string[] rolenames)
{
SqlConnection conn =
new SqlConnection(
ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand("INSERT INTO Users " +
" (Username, Role) " +
" Values(?, ?)", conn);
SqlParameter Username = cmd.Parameters.Add("@Username", SqlDbType.NVarChar, 50);
SqlParameter Role = cmd.Parameters.Add("@Role", SqlDbType.NVarChar, 50);
try
{
conn.Open();
foreach (string username in usernames)
{
foreach (string rolename in rolenames)
{
Username.Value = username;
Role.Value = rolename;
cmd.ExecuteNonQuery();
}
}
}

但是当我在登录页面中输入以下内容时:
Roles.AddUsersToRole(TextBoxUsername.Text, DropDownListRole.SelectedItem.Value);

当我构建它时,我收到了一个错误。
请提前帮助。
答案 0 :(得分:1)
您的方法期待string[]
,但您提供string
。
Roles.AddUsersToRole(TextBoxUsername.Text, DropDownListRole.SelectedItem.Value);
public void AddUsersToRole(string[] usernames, string[] rolenames)
溶液:
Roles.AddUsersToRole(new string[] { TextBoxUsername.Text }, new string[] { DropDownListRole.SelectedItem.Value });