Asp.net

在 Asp.net mvc5 中使用使用者名而不是電子郵件作為身份

  • December 16, 2014

每當我使用 Visual Studio 2013 Express for Web 創建一個新應用程序並使用個人帳戶身份驗證並點擊註冊按鈕時,我注意到它實現了“電子郵件”而不是“使用者名”,並且在 LoginViewModel 中也是如此,因為它使用電子郵件登錄而不是使用者名。我怎樣才能將其更改為使用使用者名而不是預設電子郵件而不會遇到麻煩?另外我想知道如何將字元串類型的預設“guid”轉換為“id”(整數類型)。

已接受答案中的連結問題描述瞭如何使用電子郵件而不是使用者名,OP 想要使用者名而不是電子郵件,這是我在 MVC 項目中的 Identity 2.0 中尋找的。

萬一其他人從Google搜尋到這裡,實際上很容易做到這一點。如果您查看註冊發布操作,它只是將使用者名設置為電子郵件地址。所以………

將 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 上的 Register Post Action 中,將 UserName 設置為 ViewModel 的 UserName,將 Email 設置為 ViewModel 的 Email。

var user = new ApplicationUser { UserName = model.UserName, Email = model.Email };

引用自:https://stackoverflow.com/questions/27501533