在aspnet_UsersInRole表ASP.NET中没有生成条目

时间:2013-10-21 09:45:17

标签: c# asp.net asp.net-membership membership-provider

我在ASP.NET中创建了一个创建用户向导,并为每个用户添加了一个额外的下拉列表角色。

我已经使用了这个功能,

 
protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
    {
        DropDownList ddlRoles = CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("ddlUserRoles") as DropDownList;
        Roles.AddUserToRole(CreateUserWizard1.UserName, ddlRoles.SelectedItem.ToString());

    }

这会创建一个用户并在aspnet_user,aspnet_membership表中进行输入,但不要在表aspnet_UsersinRole表中创建任何条目。我正在加入这些表以获取所需的数据但它没有给出所需的结果,因为对于用户在aspnet_UsersInRole中没有条目。

2 个答案:

答案 0 :(得分:2)

检查您是否在web.config中启用了角色,并使用正确的connectionStringName

进行更正
<roleManager defaultProvider="DefaultRoleProvider">
  <providers>
    <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
  </providers>
</roleManager>

答案 1 :(得分:1)

如果您想要DropDownList的选定值,则需要使用SelectedValue

Roles.AddUserToRole(CreateUserWizard1.UserName, ddlRoles.SelectedValue);

仅供参考: 请确保您已在高级版 aspnet_Roles 表中创建角色。否则,如果在 aspnet_Roles 表中找不到特定角色,则 aspnet_UsersInRole表中不会添加任何记录。