【发布时间】:2015-04-11 20:36:08
【问题描述】:
将 Identity 2.0 与 Web 表单项目结合使用。
我可以成功登录,并使用<allow users="<emailaddress>"/> 控制对页面的访问,但是当我将用户添加到 AspNetUserRoles 中的角色时,会导致应用程序返回此错误:
The specified cast from a materialized 'system.int32' type to the 'system.string' type is not valid
Visual Studio 在崩溃时引用的代码字符串是:
var user = manager.FindByName(Email.Text)
我该如何解决这个问题?
【问题讨论】:
-
进入 .FIndByName 函数,看看哪个部分试图将 int 转换为字符串
-
如果无法进入
FindByName方法,可以使用ILSpy查看方法中发生了什么。 -
我已经浏览了选项,所有内容都指向只需要一个字符串的 FindByName 方法。设置断点会给我关于传入值的信息,它是一个字符串,所以不是文本字段做一些奇怪的事情。而且它只影响存在于 AspNetUserRoles 表中的用户这一事实是另一个难题。
标签: javascript asp.net-identity-2