ViewData Dictionary的范围是什么?

SAH*_*GLA 6 asp.net-mvc

ViewData Dictionary的范围是什么?我的意思是它为视图创建时以及它何时销毁?

ViewDataDictionary的生命周期.

Dar*_*rov 7

在视图完成渲染后,控制器创建ViewData字典(更确切地说,第一次访问它时).摘自吸气剂:

public ViewDataDictionary ViewData
{
    get
    {
        if (this._viewDataDictionary == null)
        {
            this._viewDataDictionary = new ViewDataDictionary();
        }
        return this._viewDataDictionary;
    }
    set
    {
        this._viewDataDictionary = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上,您可以假设ViewData可以从您控制器内部的请求开始通过呈现视图本身进行访问,并且在页面完成呈现后将会释放它.