キーアップイベントでメールが利用できるかどうかを確認しようとしています。これは私のjqueryコードです:
<script type="text/javascript">
$(document).ready(function () {
var emailAlreadyExists = $("#registerContent").find('[id$=emailAlreadyExists]');
var email = $("#registerContent").find('[id$=u_email]');
email.keyup(function () {
emailAvailability();
});
function emailAvailability() {
$.post("Register.aspx/isValidEmail", { email: email.val() }, function (result) {
if (result == true)
emailAlreadyExists.text("The e-mail is already taken");
else
emailAlreadyExists.text("Available");
});
}
});
</script>
ここに私のコードビハインド:
public bool isValidEmail(string email)
{
UserBusiness user = new UserBusiness(u_email.Text);
return user.emailExists(user);
}
問題は、データベースに既に存在する電子メールを入力しようとしても、ラベルの「使用可能」メッセージが常に表示されることです。ご覧のとおり、isValidEmail はデータベースの結果を取得する関数です (プロジェクトが階層に分割されているため、プレゼンテーション層、ビジネス層、日付層があります)。これが私がやりたいことをする正しい方法であるかどうかはわかりません。それで、私の間違いはどこですか?