взгляните на ваш файл AccountModels.cs.Он содержит
public class RegisterModel
{
// User name, Email Adress, Password, Password confirmation already there
// you can add something like below
[Required]
[Display(Name = "Nickname")]
public string Nickname { get; set; }
}
Как только у вас появится новое свойство в вашей модели, вам нужно обновить представление.В Views> Аккаунт> Register.cshtml вы должны добавить
<div class="editor-label">
@Html.LabelFor(m => m.Nickname )
</div>
<div class="editor-field">
@Html.PasswordFor(m => m.Nickname )
@Html.ValidationMessageFor(m => m.Nickname )
</div>
Когда вы закончите с этим, вам нужно обновить логику регистрации, чтобы использовать ваше новое свойство.Перейдите в AccountController и найдите
[HttpPost]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Attempt to register the user
MembershipCreateStatus createStatus;
Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus);
if (createStatus == MembershipCreateStatus.Success)
{
FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
//
// this would be a good place for you to put your code to do something with model.Nickname
//
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", ErrorCodeToString(createStatus));
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
Если вы хотите сохранить эту информацию в профиле пользователей ASP.NET, вам нужно это в Web.config
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
<properties>
<add name="Nickname" defaultValue="False" type="System.String" />
</properties>
</profile>
Затем в вашем коде - выможете сделать
var userProfile = ProfileBase.Create(model.UserName);
, чтобы получить / установить ваши свойства в Профиле