J'utilise ASP.NET MVC pour développer un site Web. J'utilise jquery pour la fonctionnalité AJAX. Dans les méthodes d'action, je veux retourner une erreur pour signaler que l'entrée n'est pas correcte ou que l'action n'a pas pu être effectuée. Dans de tels cas d'erreur, je m'attends à ce que le gestionnaire d'erreur jquery ajax soit appelé et que je puisse prendre les mesures appropriées. Je n'ai pas trouvé un moyen de le faire. Voici ma méthode d'action. En cas d'erreur, que dois-je envoyer d'une Action pour déclencher le gestionnaire d'erreur jquery?Comment retourner une erreur à partir de l'action ASP.NET MVC
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");
}
}
Très clairement expliqué. Merci beaucoup, Mattias Jakobsson. – mohang
Les paramètres 'Json' fournis dans votre exemple seront-ils définis sur les variables' xhr' du client? – Shimmy
Je n'ai pas downvote, mais je ne suis pas d'accord. (Désolé, @Mattias). Cela provoquera le rappel JavaScript "succès". Nous voulons toujours que le rappel d'erreur se déclenche lorsqu'il y a une erreur sur le serveur. Cela viole les symantics. Symétriquement, nous voudrions retourner une erreur de la série 500. – Rap