Расширяя PartialViewResult, Модель не проверена?
У меня есть класс, который расширяется PartialViewResult
и в этом классе я устанавливаю Response.StatusCode
и модель через ViewData
,
Моя модель и код состояния устанавливаются так, как я ожидал, но моя модель не проверена. Нужны ли их дополнительные шаги для проверки моей модели? Такое ощущение, что я зацепился не в том месте (как слишком поздно) в конвейере, и модель уже должна быть проверена, прежде чем передать ее в результате, но я не на 100%.
Вот класс:
public class PartialViewResultWithErrorCode<T> : PartialViewResult where T : class
{
private readonly HttpStatusCode statusCode;
private readonly T model;
public PartialViewResultWithErrorCode(HttpStatusCode statusCode, string viewName, T model)
{
this.statusCode = statusCode;
this.model = model;
ViewName = viewName;
}
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.StatusCode = (int)statusCode;
ViewData = new ViewDataDictionary(model);
base.ExecuteResult(context);
}
}
Любые мысли с благодарностью.
1 ответ
Вероятно, уже слишком поздно. PartialViewResult выполняется во время InvokeActionResultWithFilters.
Проверка модели произошла до этого. Вы можете создать ActionFilter и попытаться добиться того же самого в OnActionExecuting, что даст вам лучший результат.