Как предотвратить эту ошибку маршрута при проверке удаленной модели ASP.NET Ядро

#c# #asp.net-mvc #asp.net-core #model-validation #remote-validation

#c# #asp.net-mvc #asp.net-core #модель-проверка #удаленная проверка

Вопрос:

Я пытаюсь проверить электронную почту, используя этот атрибут удаленной проверки, но я продолжаю получать эту ошибку. Кто-нибудь знает точную причину этого?

 public class StudentVm
{
       public string Id { get; set; }
       [Required]
       public string Name { get; set; }
       [Remote( "Test", "Validation", HttpMethod = "POST", ErrorMessage = "Invalid Email.")]
       public string Email { get; set; }
}

//The validation controller
[Route("Validation/[action]")]
public class ValidationController : Controller
{
   [HttpPost]
   public async Task<IActionResult> Test(string Email)
   {
       return Json(false);
   }
}
  

Ошибка

При обработке запроса произошло необработанное исключение. Исключение TypeLoadException: не удалось загрузить тип ‘System.Web.Routing.RouteValueDictionary’ из системы assembly’.Web, версия = 4.0.0.0, Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a’

Комментарии:

1. измените [Route("Validation/[action]")] на [Route("[controller]")] и измените это [HttpPost] на [HttpPost, Route("test")] . Это даст вам маршрут /Validation/test , и вам придется опубликовать это: "hello@world.com" Если вы хотите опубликовать модель, которая у вас есть выше, вам придется изменить string email на [FromBody] StudentVm student

2. Я пробовал, но у меня не получилось

3. Не могли бы вы поделиться ссылкой на свой пакет? Похоже, вы использовали неправильный пакет.