如何将void返回类型传递给Json

时间:2016-11-21 19:17:44

标签: asp.net-mvc asp.net-web-api

请帮帮我。如何将消息从void传递给返回类型?

WebApi.cs

public void DeleteById(int id)
{
    string meassga = "";
    try
    {
        objser.DeleteBYId(id);
    }
    catch (Exception ex)
    {
        meassga = "" + ex;
    }

}

Mvc.cs

public JsonResult DeleteById(int id)
{
   string meassga = "";
   ss.DeleteBYId(id);
   return Json ( meassga,  JsonRequestBehavior.AllowGet );
}

这里我将数据从mvc传递到webApi&我想显示从api控制器到mvc json控件的错误细节

1 个答案:

答案 0 :(得分:0)

你不能。您有几个选项,更改webapi方法以返回字符串,或抛出异常,如下所示:

public void DeleteById(int id)
    {
        try
        {
            objser.DeleteBYId(id);
        }
        catch (Exception ex)
        {
            throw new Exception($"Exception in DeleteById({id}) - {ex.Message}", ex);
        }
    }

然后在控制器中:

public JsonResult DeleteById(int id)
    {
        try 
        {
           ss.DeleteBYId(id);
           return Json ("Deleted successfully", JsonRequestBehaviour.AllowGet);
        }
        catch(Exception ex)
        {
          return Json ( ex.Message,  JsonRequestBehavior.AllowGet );
        }
    }

......相似。在不抛出异常的情况下,另一个常见的策略是创建一个这样的返回类:

public class ApiResult<T>
{
   public string Message { get; set; }
   public T Result { get; set; }
   public bool Success { get; set; }
}

并实现所有api调用的东西。