表 ASP.NET 中未aspnet_UsersInRole生成条目
本文关键字:UsersInRole ASP NET 中未 aspnet | 更新日期: 2023-09-27 18:36:17
我在 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中不存在任何条目。
检查您是否在 web.config 中启用了角色,请使用正确的连接更正字符串名称
<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>
如果需要 DropDownList 的选定值,则需要使用 SelectedValue。
Roles.AddUserToRole(CreateUserWizard1.UserName, ddlRoles.SelectedValue);
仅供参考:请确保您已提前aspnet_Roles表中创建了角色。否则,如果在表中找不到特定角色aspnet_UsersInRole则不会aspnet_Roles表中添加任何记录。