8
我想從wep api actionfilter返回一個json對象。 我該如何做到這一點?Asp.net Web API - 從actionfilter返回數據
我可以從動作返回對象,但我需要在某些情況下從actionfilter返回一些數據。
在此先感謝。
編輯:1 當我改變了代碼像下文中,瀏覽器仍在加載沒有任何響應並在超時錯誤結束。
public class ValidationActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
var modelState = actionContext.ModelState;
if (!modelState.IsValid)
{
List<string> arr = new List<string>();
foreach (var key in modelState.Keys)
{
var state = modelState[key];
if (state.Errors.Any())
{
string er = state.Errors.First().ErrorMessage;
if (!string.IsNullOrEmpty(er))
{
arr.Add(er);
}
}
}
var output = new Result() { Status = Status.Error.ToString(), Data = null, Message = arr };
actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.BadRequest, output, actionContext.ControllerContext.Configuration.Formatters.JsonFormatter);
}
}
}
感謝您的回覆。請參閱我的編輯。仍然存在問題 –
如何在.net內核中執行此操作? –
對於我來說,上述解決方案不起作用。行動中的代碼仍然執行。 –