Я только что закончил сайт LostPetListings.com, который имеет частичные представления в мастер-макете.У меня есть частичное представление «Создать учетную запись», которое имеет удаленную проверку свойства электронной почты, которая работает нормально.Я даже могу увидеть data-val-remote-url = "/ en-us / Validation / EmailExists" в html, он отлично работает при проверке запроса с помощью Firebug.Проблема: я получаю массу ошибок для "Не найден URL для удаленной проверки".когда робот Google попадает на сайт?Не могу понять почему? Электронное письмо, которое существует в db, является t@t.com для его проверки ..
Моя модель:
[Required(ErrorMessageResourceType = typeof(SharedStrings), ErrorMessageResourceName = "EmailRequired")]
[MyRemote("EmailExists", "Validation", "", ErrorMessageResourceType = typeof(SharedStrings), ErrorMessageResourceName = "EmailAlreadyExists")]
public string Email { get; set; }
Мой атрибут:
public class MyRemoteAttribute : RemoteAttribute
{
public MyRemoteAttribute(string action, string controller, string area)
: base(action, controller, area)
{
this.RouteData["area"] = area;
}
}
Контроллер валидации, украшенный:
[OutputCache(Location = OutputCacheLocation.None, NoStore = true)]
Действие контроллера валидации:
[HttpGet]
public JsonResult EmailExists(string Email)
{
string culture = RouteData.Values["culture"]==null?"en-us":RouteData.Values["culture"].ToString().Replace("_", "-").ToLower();
if (Email != "" && SecurityHelper.ReferrerIsValid)
{
EndUser_Translated eut = endUserTranslatedRepository.Get(d => d.EndUser.Email == Email.Trim() && d.Culture == culture);
if(eut==null)
return Json(true, JsonRequestBehavior.AllowGet);
else
return Json(SharedStrings.EmailAlreadyExists, JsonRequestBehavior.AllowGet);
}
else
return Json(SharedStrings.EmailAlreadyExists, JsonRequestBehavior.AllowGet);
}
Как загружается частичное в мастер-макете:
@Html.Partial("_CreateAccount", new RegisterModel())
Все отлично работаетпоэтому не могу понять, почему я получаю эту ошибку «многие» от ботов [посмотрел IP, я ловлю с ошибкой в журнале ошибок ... особенно Googlebot]?Может быть, это как-то связано с частичным кэшированием в мастер-макете или чем-то еще?Любые идеи / догадки приветствуются, даже если в конце они не верны, так как это может что-то вспомнить ..