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創建用戶數據庫? –