1 namespace System.Web.Mvc {
2 using System.Diagnostics.CodeAnalysis;
4 public abstract class WebViewPage<TModel> : WebViewPage {
5 private ViewDataDictionary<TModel> _viewData;
7 public new AjaxHelper<TModel> Ajax {
12 public new HtmlHelper<TModel> Html {
17 public new TModel Model {
19 return ViewData.Model;
23 [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "This is the mechanism by which the ViewPage gets its ViewDataDictionary object.")]
24 public new ViewDataDictionary<TModel> ViewData {
26 if (_viewData == null) {
27 SetViewData(new ViewDataDictionary<TModel>());
36 public override void InitHelpers() {
39 Ajax = new AjaxHelper<TModel>(ViewContext, this);
40 Html = new HtmlHelper<TModel>(ViewContext, this);
43 protected override void SetViewData(ViewDataDictionary viewData) {
44 _viewData = new ViewDataDictionary<TModel>(viewData);
46 base.SetViewData(_viewData);