コード例 #1
0
        protected void EnsureViewData()
        {
            if (_viewData != null)
            {
                return;
            }

            IViewDataContainer vdc = GetViewDataContainer(this);

            if (vdc == null)
            {
                throw ViewError.ControlRequiresViewDataProvider();
            }

            ViewDataDictionary vd = vdc.ViewData;

            if (!String.IsNullOrEmpty(_subDataKey))
            {
                ViewDataDictionary subViewData;
                vdc.ViewData.SubDataItems.TryGetValue(_subDataKey, out subViewData);
                vd       = new ViewDataDictionary(subViewData);
                vd.Model = subViewData.Model;
            }

            if (!String.IsNullOrEmpty(ViewDataKey))
            {
                ViewDataDictionary vdPart = new ViewDataDictionary();
                vdPart.Model = vd[ViewDataKey];
                vd           = vdPart;
            }
            SetViewData(vd);
        }
コード例 #2
0
        /// <summary>
        /// Instantiates and initializes the Ajax, Html, and Url properties.
        /// </summary>
        public virtual void InitHelpers(ViewContext context)
        {
            Precondition.Require(context,
                                 () => ViewError.ArgumentNull("context"));

            SetContentType(context.Context);
            _httpParameters = context.Context.Request.Parameters;
            _html           = new HtmlHelper(context);
            _url            = new UrlHelper(context);
            _ajax           = new AjaxHelper(context);
            _validation     = new ValidationHelper(context);
        }
コード例 #3
0
            protected static TResult Wrap <TResult>(Func <TResult> func)
            {
                try
                {
                    return(func());
                }
                catch (HttpException ex)
                {
                    if (ex.GetHttpCode() == 500)
                    {
                        throw;
                    }

                    throw ViewError.ChildRequestExecutionError(ex);
                }
            }