/* **************************************************************************** * * Copyright (c) Microsoft Corporation. All rights reserved. * * This software is subject to the Microsoft Public License (Ms-PL). * A copy of the license can be found in the license.htm file included * in this distribution. * * You must not remove this notice, or any other, from this software. * * ***************************************************************************/ namespace System.Web.Mvc { using System.Diagnostics.CodeAnalysis; public class ViewUserControl : ViewUserControl where TModel : class { private AjaxHelper _ajaxHelper; private HtmlHelper _htmlHelper; private ViewDataDictionary _viewData; public new AjaxHelper Ajax { get { if (_ajaxHelper == null) { _ajaxHelper = new AjaxHelper(ViewContext, this); } return _ajaxHelper; } } public new HtmlHelper Html { get { if (_htmlHelper == null) { _htmlHelper = new HtmlHelper(ViewContext, this); } return _htmlHelper; } } public new TModel Model { get { return ViewData.Model; } } [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public new ViewDataDictionary ViewData { get { EnsureViewData(); return _viewData; } set { SetViewData(value); } } protected override void SetViewData(ViewDataDictionary viewData) { _viewData = new ViewDataDictionary(viewData); base.SetViewData(_viewData); } } }