Używam ASP.NET MVC do tworzenia strony internetowej. Używam jquery dla funkcji AJAX. W metodach działania chcę zwrócić błąd, który sygnalizuje, że dane wejściowe nie są poprawne lub że nie można wykonać akcji. W takich przypadkach błędów, oczekuję wywołania błędu JQuery ajax i mogę podjąć odpowiednie działania tam. Nie znalazłem sposobu, jak to zrobić. Oto moja metoda działania.Jak zwrócić błąd z działania ASP.NET MVC
Co należy wysyłać z akcji, aby uruchomić procedurę obsługi błędów jQuery?
public ActionResult AddToFavourites(int entityId, string entityType)
{
if (!Request.IsAjaxRequest())
throw new InvalidOperationException("This action can be called only in async style.");
try
{
RBParams.EntityType typeOfFavourite = (RBParams.EntityType)Enum.Parse(typeof(RBParams.EntityType), entityType);
string status = "";
if (typeOfFavourite == RBParams.EntityType.BusinessEntity)
{
status = MarkFavouriteEntity(entityId);
}
else if (typeOfFavourite == RBParams.EntityType.Review)
{
status = MarkFavouriteReview(entityId);
}
else
{
throw new InvalidOperationException("The type of the entity is not proper");
}
return Content(status);
}
catch (Exception ex)
{
return Content("Error");
}
}
Bardzo wyraźnie wyjaśnione. Wielkie dzięki, Mattias Jakobsson. – mohang
Czy ustawienia 'Json' podane w twoim przykładzie zostaną ustawione na zmienne' xhr' klienta? – Shimmy
Nie spadłem, ale nie zgadzam się. (Przepraszam, @Mattias). Spowoduje to uruchomienie wywołania zwrotnego "sukcesu" JavaScriptu. Zawsze chcemy, aby wywołanie zwrotne błędu było uruchamiane, gdy wystąpi błąd na serwerze. To narusza symantię. Zasadniczo chcielibyśmy zwrócić błąd w serii 500. – Rap