Прочетох няколко публикации за този проблем (тук и в други сайтове), но никой не работи за мен. Опитвам се да проверя дали даден имейл вече е регистриран в база данни по време на процеса на регистрация.
Имам страница, наречена Register.aspx, в която съм декларирал следната JavaScript функция:
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
и получих правилната стойност, т.е. имейл адреса, който бях въвел. Така... аз съм малко изгубен.
Оценявам всяка помощ.