每当我使用visual studio 2013 express for web创建一个新的应用程序,并使用个人帐户身份验证,点击"注册"按钮时,我注意到它实现了"邮箱"而不是"用户名",在LoginViewModel中也是如此,因为它使用邮箱而不是用户名登录.我怎样才能将其更改为使用用户名而不是默认的邮箱,而不会出现问题?我还想知道如何将字符串类型的默认"guid"转换为"id"(整数类型).
每当我使用visual studio 2013 express for web创建一个新的应用程序,并使用个人帐户身份验证,点击"注册"按钮时,我注意到它实现了"邮箱"而不是"用户名",在LoginViewModel中也是如此,因为它使用邮箱而不是用户名登录.我怎样才能将其更改为使用用户名而不是默认的邮箱,而不会出现问题?我还想知道如何将字符串类型的默认"guid"转换为"id"(整数类型).
接受答案中的链接问题描述了如何使用邮箱而不是用户名,OP需要用户名而不是我在MVC项目的Identity 2.0中寻找的邮箱.
如果其他人通过谷歌搜索到这里,这其实很容易做到.如果你看一下register post操作,它只是将用户名设置为邮箱地址.所以
将用户名添加到RegisterViewModel并将其添加到register视图.
<div class="form-group">
@Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(m => m.UserName, new { @class = "form-control", @placeholder = "Username or email" })
</div>
</div>
在AccountController上的Register Post Action中,将用户名设置为ViewModel的用户名,将邮箱设置为ViewModel的邮箱.
var user = new ApplicationUser { UserName = model.UserName, Email = model.Email };