この問題に関するいくつかの投稿を読みました (ここおよび他のサイト) が、誰も私のために働いていません。登録プロセス中に、特定の電子メールがデータベースに既に登録されているかどうかを確認しようとしています。
次の JavaScript 関数を宣言した Register.aspx というページがあります。
function check_email_availability(src, args) {
$.ajax({
type: "POST",
async: false,
timeout: 500,
contentType: "application/json",
url: "Register.aspx/CheckEmailAvailability",
data: "{ 'email' : '" + args.Value + "' }",
success: function (result) {
args.IsValid = result.d;
}
});
}
一方、Register.aspx.vb のコード ビハインドでは、次のようにしていますWebMethod
。
<System.Web.Services.WebMethod()> _
Public Shared Functiion CheckEmailAvailability(ByVal email As String) As String
If Membership.GetUser(email) Is Nothing Then
Return "True"
Else
Return "False"
End Function
を介して JavaScript 関数を起動しようとしていますCustomValidator
が、Chrome のコンソールから次のメッセージが表示されます。
Uncaught TypeError: Cannot read property 'Value' of undefined
エラーは行に表示されます
data: "{ 'email' : '" + args.Value + "' }",
-常にChromeを使用しています-、その行にブレークポイントを設定し、コンソールから次のように記述しました
args.Value
正しい値、つまり入力した電子メール アドレスを取得しました。だから…ちょっと迷った。
助けていただければ幸いです。