Я создал пользовательский поставщик членства с пользовательским методом CreateUser, который принимает еще один аргумент, например:
public class CustomMembershipProvider : MembershipProvider
{
// code
public override MembershipUser CreateUser(string username,
string password, etc...)
{
// does nothing
}
public MembershipUser MyCreateUser(string username,string password,string COMPANY, etc...)
{
// validades the fields and inserts the user in the db
}
}
А теперь я хочу использовать элемент управления Create User Wizard для вставки пользователей с этим дополнительным полем.
Я расширил контроль до чего-то вроде этого:
public class CustomCreateUser : CreateUserWizard
{
public CustomCreateUser(): base()
{
}
protected override void OnCreatingUser(LoginCancelEventArgs e)
{
MembershipUser newUser = ((CustomMembershipProvider)Membership.Provider).MyCreateUser(username,password,company, etc...)
}
}
Проблема в том, что после вызова OnCreatingUser элемент управления вызывает метод CreateUser провайдера по умолчанию (тот, который ничего не делает), вызывая ошибку, поскольку пользователь уже вставлен ...
Можно ли предотвратить второй вызов, переопределив метод в CustomCreateUser?
Заранее спасибо