namespace System.Web.Mvc { using System.Diagnostics.CodeAnalysis; public class ViewPage : ViewPage { private ViewDataDictionary _viewData; public new AjaxHelper Ajax { get; set; } public new HtmlHelper Html { get; set; } public new TModel Model { get { return ViewData.Model; } } [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public new ViewDataDictionary ViewData { get { if (_viewData == null) { SetViewData(new ViewDataDictionary()); } return _viewData; } set { SetViewData(value); } } public override void InitHelpers() { base.InitHelpers(); Ajax = new AjaxHelper(ViewContext, this); Html = new HtmlHelper(ViewContext, this); } protected override void SetViewData(ViewDataDictionary viewData) { _viewData = new ViewDataDictionary(viewData); base.SetViewData(_viewData); } } }