0
我正在使用由David ward编写的encosia网站的最佳教程,以及他的网站中给出的用于用户名即时验证的示例。用asp.net进行JQuery用户名验证
以下是原帖链接: http://encosia.com/aspnet-username-availability-checking-via-ajax/
所以用这个代码这里的问题是,虽然我用我的自定义成员资格它总是向我展示用户“Available
”,而不是“Not Available
”如果用户不在数据库中。
这里是我的代码:
protected void Username_Changed(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(2000);
if (Membership.GetUser(Username.Text) != null)
{
UserAvailability.InnerText = "Username taken, sorry.";
UserAvailability.Attributes.Add("class", "taken");
Button1.Enabled = false;
}
else
{
UserAvailability.InnerText = "Username available!";
UserAvailability.Attributes.Add("class", "available");
Button1.Enabled = true;
}
}
这是我的web.config:
<connectionStrings>
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer"
connectionString="Data Source=.\sqlexpress;Initial Catalog=CustomMembership;Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
<membership defaultProvider="CustomMembership">
<providers>
<add name="CustomMembership"
connectionStringName="LocalSqlServer"
enablePasswordReset="true"
enablePasswordRetrieval="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="0"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
passwordAttemptWindow="5"
passwordStrengthRegularExpression=""
type="System.Web.Security.SqlMembershipProvider" />
</providers>
</membership>
无关,但为什么你要做System.Threading.Thread.Sleep(2000);? –
当用户输入名称,并点击标签按钮,然后只需要更新进度,所以我用它。 – coder
您是否使用aspnet_regsql创建用户数据库? –