我想在下拉列表中使用角色名称,但我的代码改为: System.Data.Entity.DynamicProxies.IdentityRole_9242DF3B1E41249C78E71E10BE06DC7180880D3BD461D49C4D7FA49EA1C455CA
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>());
var roles = roleManager.Roles.ToList();
DropDownList1.DataSource = roles;
DropDownList1.DataBind();
我觉得这是一个非常简单的错误,我看不到。
感谢Jeremy Cook提供合适的软件。
新代码
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>());
var roles = roleManager.Roles.ToList();
DropDownList1.DataTextField = "Name";
DropDownList1.DataValueField = "Id";
DropDownList1.DataSource = roles;
DropDownList1.DataBind();
答案 0 :(得分:2)
不幸的是,IdentityRole
不会覆盖ToString()
,因此您会看到类名称。 See the source here.
但是,将DataTextField
属性设置为&#34; Name&#34;应该回避你的麻烦。 (您可能还想将DataValueField
属性设置为&#34; Id&#34 ;.)