Расширяя 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, что даст вам лучший результат.

Другие вопросы по тегам