2010-11-09 2 views
0

Я разрабатываю сайт в asp.net mvc 2.0. Теперь я должен реализовать пользовательскую регистрацию пользователя , добавив дополнительные поля. Я использую следующий код для создания пользователя,Внедрение пользовательской регистрации в asp.net mvc 2.0

Membership.CreateUser(userName, password); 
Roles.AddUserToRole(userName, "User"); 
UserProfile.NewUser.Initialize(userName, true); 
UserProfile.NewUser.FirstName = firstName; 
UserProfile.NewUser.LastName = lastName; 
UserProfile.NewUser.Save(); 

здесь каким-то образом я могу создать пользователя, но он не может проверить дублирования userName. Согласно встроенной функции mvc 2.0, создайте пользовательскую функциональность, она проверит статус. Таким образом, он отобразит ошибку, если произойдет дубликат userName. Но в моем случае, как проверить уникальность userName.

+0

Какой провайдер вы используете? – Kangkan

+0

Я использую поставщик членства в sql – Mallikarjuna

+0

О, извините, я использую AspNetSqlMembershipProvider. – Mallikarjuna

ответ

1

Членов группы API имеет встроенные функциональные возможности для надуть имена пользователей, вам просто нужно справиться с этим:

try 
{ 
    MembershipUser newUser = Membership.CreateUser(username, password); 

} 
catch (MembershipCreateUserException e) 
{ 
    if (e.StatusCode == MembershipCreateStatus.DuplicateUserName) 
     // Add to ModelState, or handle it however you want 
} 

MembershipCreateUserException имеет свойство StatusCode который является перечислением все различного MembershipCreateStatus коды ошибок.

Вы должны улучшить приведенный выше код, чтобы обслуживать все различные сценарии и действовать соответственно.

HTH

+0

Спасибо RPM .i получил его. – Mallikarjuna

+0

Отлично. рад, что вы его отсортировали. :) – RPM1984

Смежные вопросы