Introduction
In an application that uses Asp.Net MembershipProvider, in the
membership process if you don't want to use character except letter in
your generated password that send to your given e-mail address, you
have to follow below steps.
Unfortunately it seems complicated and in my opinion there is a design mistake related MembershipProvider.
Using the code
It requires some changes with CreateUserWizard control :
For this create new web control derived by CreateUserWizard control and override Password property.
ToolboxData("<{0}:MyCreateUserWizard runat="server"></{0}:MyCreateUserWizard>")]
public class MyCreateUserWizard : CreateUserWizard
{
public MyCreateUserWizard()
: base()
{
}
private string generatedPassword = string.Empty;
public override string Password
{
get
{
if (string.IsNullOrEmpty(generatedPassword))
generatedPassword = GeneratePassword();
return generatedPassword;
}
}
}
And if you want same feature with PasswordRecovery control, you have to
create new class derived by System.Web.Security.SqlMembershipProvider
and override GeneratePassword method.
public class MyMembershipProvider : System.Web.Security.SqlMembershipProvider
{
public MyMembershipProvider()
: base()
{
}
public override string GeneratePassword()
{
....
}
}