Проблема в том, что класс поставщика членства не дает вам имя и фамилию.Вы можете сохранить их в профиле, однако.В этом случае вам нужно перейти в класс AccountController.cs и изменить 1. интерфейс
public interface IMembershipService
{
int MinPasswordLength { get; }
bool ValidateUser(string userName, string password);
MembershipCreateStatus CreateUser(string userName, string password, string email);
bool ChangePassword(string userName, string oldPassword, string newPassword);
}
и добавить новую сигнатуру метода CreateUser с нужными полями.
Тогда вам потребуетсяреализовать этот метод в классе AccountController в этом файле.
В статье, о которой вы упоминаете ниже, говорится:
"However, this overload will not be called by the Membership class or controls that rely on the Membership class, such as the CreateUserWizard control. To call this method from an application, cast the MembershipProvider instance referenced by the Membership class as your custom membership provider type, and then call your CreateUseroverload directly. "
Итак, вы не можете вызвать встроенный CreateUser, как они упоминаютв вашем новом методе CreateUser будет
public MembershipCreateStatus CreateUser(string firstName, string lastName, string password, string email)
{
if (String.IsNullOrEmpty(password)) throw new ArgumentException("Value cannot be null or empty.", "password");
if (String.IsNullOrEmpty(email)) throw new ArgumentException("Value cannot be null or empty.", "email");
//etc....
MembershipCreateStatus status;
((YourCustomProvider)_provider).CreateUser(firstName, lastName, password, email, null, null, true, null, out status); return status;
}