每当我使用visual studio 2013 express网站创建一个新的应用程序,并使用个人帐户身份验证,并且我点击注册按钮,我注意到它实现“电子邮件”而不是“用户名”,并且在Loginviewmodel中也是一样,因为它使用电子邮件登录而不是用户名。我如何更改这个以使用用户名而不是默认的电子邮件没有麻烦?另外我想知道如何将一个字符串类型的默认’guid’转换为’id'(整数类型)。
解决方法
接受的答案中的链接问题描述了如何使用电子邮件而不是用户名,OP希望使用UserName而不是电子邮件,这正是我在MVC项目中的Identity 2.0中寻找的内容。
如果有人从谷歌搜索到这里,其实很容易做到这一点。如果您看注册帖子操作,只需将UserName设置为电子邮件地址。所以………
将UserName添加到Registerviewmodel并将其添加到注册表视图。
<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中的“注册邮件操作”中将UserName设置为viewmodel的UserName,并将电子邮件设置为viewmodel的电子邮件。
var user = new ApplicationUser { UserName = model.UserName,Email = model.Email };