Супер простая проблема с многочасовой игрой. У меня есть
[Remote("UserNameValidation", "Validation")]
оформлено в моем свойстве UserName в RegisterModel приложения MVC3. Подпрограмма UserNameValidation вызывается на сервере, поэтому я знаю, что у меня все в порядке.
Я вернул следующие две попытки вызвать ошибку в браузере. Каждый из них был безоговорочно помещен в мою подпрограмму UserNameValidation (точки останова показывают, что они выполняются).
return Json(false, JsonRequestBehavior.AllowGet);
return Json( "This is my error", JsonRequestBehavior.AllowGet);
Не вызывает никаких сообщений в браузере. HTML внутри файла cshtml является стандартным:
<div class="editor-field">
@Html.TextBoxFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</div>
В Firebug все выглядит хорошо, но, судя по всему, я не могу понять, какую процедуру JQuery попытаться отладить. Согласно Firebug и FireQuery, в отдельных полях набора полей нет событий, но есть события, прикрепленные к форме. Но имена событий являются такими, как jQuery152035587891986792763 или объект или GUID 7 или что-то еще. Я думаю, что мне нужно найти ajax-вызов JQuery, в котором я могу установить точку останова и посмотреть, что он делает или не делает, когда возвращается из ajax-вызова на сервер. Я установил точки останова практически для каждой функции jquery, которую я могу себе представить, и я до сих пор не получаю никакой радости. Есть идеи?