У меня есть Formpanel ExtJs со стандартной отправкой: false. При отправке контроллер будет проверять данные формы, поскольку некоторая проверка будет выполняться на сервере (например, проверка уникальности имени). Если предоставленный объект недействителен, JsonResult отправляется клиенту, чтобы уведомить пользователя, какие поля являются недействительными. Это работает отлично. Если объект действителен, он будет сохранен в базе данных, и контроллер должен перенаправить пользователя к определенному представлению.
В результате HTML-код, предоставляемый представлением, отправляется клиенту, который ожидает JSON-ответ. Очевидно, это не работает.
public override ActionResult Create(FormCollection formCollection)
{
Models.Relatie relatie = Repository.CreateNew();
SetFormValues(relatie, formCollection);
if (ModelState.IsValid)
{
_relatieService.CreateRelation(relatie);
ViewResult view = View("Index");
return view; //pumps html while client expects JSON
}
else
{
JsonResult json = Json(new { success = false, errors = ModelState.ToDictionary() });
return json;
}
}
Я искал решение более 8 часов, кто-нибудь может мне помочь?