Asp.Net MVC 利用ReflectedActionDescriptor判断Action返回类型

System.Web.Mvc.ReflectedActionDescriptor descriptor = filterContext.ActionDescriptor as 

System.Web.Mvc.ReflectedActionDescriptor;
if (descriptor != null)
{
    Type actionType =descriptor.MethodInfo.ReturnType;
    if (actionType.Equals(typeof(ActionResult)))
    {
        if (actionType.IsSubclassOf(typeof(JsonResult)))
        {
            Response.Write("JsonResult");
        }
        else if (actionType.IsSubclassOf(typeof(ContentResult)))
        {
            Response.Write("ContentResult");
        }
        else
        {
            Response.Write("ViewResult");
        }
    }
    else
    {
        if (actionType.Equals(typeof(JsonResult)))
        {
            Response.Write("JsonResult");
        }
        else if (actionType.Equals(typeof(ContentResult)))
        {
            Response.Write("ContentResult");
        }
        else
        {
            Response.Write("ViewResult");
        }
    }                
}

  

posted @ 2015-11-03 11:07  util6  阅读(343)  评论(0编辑  收藏  举报