Ich verwende ASP.NET MVC für die Entwicklung einer Website. Ich benutze jquery für AJAX-Funktionalität. In den Aktionsmethoden möchte ich einen Fehler zurückgeben, um zu signalisieren, dass die Eingabe nicht korrekt ist oder dass die Aktion nicht durchgeführt werden konnte. In solchen Fehlerfällen erwarte ich, dass der JQuery-Ajax-Fehlerhandler aufgerufen wird und ich dort geeignete Maßnahmen ergreifen kann. Ich habe keinen Weg gefunden, dies zu tun. Folgendes ist meine Aktionsmethode.Wie Fehler von ASP.NET MVC-Aktion zurückgegeben werden
In Fehlerfällen, was soll ich von einer Aktion senden, um den jquery error handler auszulösen?
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");
}
}
Sehr klar erklärt. Vielen Dank, Mattias Jakobsson. – mohang
Sind die 'Json' Einstellungen in Ihrem Beispiel auf' xhr' Variablen des Clients eingestellt? – Shimmy
Ich habe nicht downvote, aber ich stimme nicht zu. (Entschuldigung, @ Mattias). Dadurch wird der JavaScript- "Erfolg" -Rückruf ausgelöst. Wir möchten immer, dass der Fehlerrückruf ausgelöst wird, wenn ein Fehler auf dem Server auftritt. Dies verletzt die Symantik. Symmetrisch möchten wir einen Fehler der 500-Serie zurückgeben. – Rap