簡體   English   中英

擴展PartialViewResult,模型​​未通過驗證?

[英]Extending PartialViewResult, Model isn't validated?

我有一個擴展PartialViewResult的類,在這個類中,我通過ViewData設置Response.StatusCode和Model。

我的模型和狀態代碼已按預期設置,但是我的模型未通過驗證。 是否需要采取其他步驟來確保模型得到驗證? 感覺好像我迷上了管道中的錯誤位置(為時已晚),並且應該在將模型傳遞給結果之前對模型進行驗證,但我不是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);
    }
}

任何想法表示贊賞。

可能為時已晚。 在InvokeActionResultWithFilters期間執行PartialViewResult。

在此之前發生了ModelValidation。 您可以創建一個ActionFilter並嘗試在OnActionExecuting中實現相同的效果,從而獲得更好的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM