您的位置:首页 > 其它

ViewData与ViewBag的区别是什么

2015-12-08 15:59 387 查看



一、ViewBag的定义

public dynamic ViewBag {

    get {

        if (_dynamicViewData == null) {

            _dynamicViewData = new DynamicViewDataDictionary(() => ViewData);

        }

        return _dynamicViewData;

    }

}

二、ViewData的定义

public ViewDataDictionary ViewData {

    get {

        if (_viewData == null) {

            SetViewData(new ViewDataDictionary());

        }

        return _viewData;

    }

    set {

        SetViewData(value);

    }

}

三、ViewData与ViewBag的区别

 

1、ViewData是字典类型,赋值方式用字典方式,通过key值读取对应的value, ViewData["myName"]

2、ViewBag是动态类型,使用时直接添加属性赋值即可 ViewBag.myName

3、ViewBag和ViewData只在当前Action中有效,等同于View

4、ViewData和ViewBag 中的值可以互相访问,因为ViewBag的实现中包含了ViewData
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: