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); }
/// <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); }
protected static TResult Wrap <TResult>(Func <TResult> func) { try { return(func()); } catch (HttpException ex) { if (ex.GetHttpCode() == 500) { throw; } throw ViewError.ChildRequestExecutionError(ex); } }