public static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName, object model, object viewData) { ViewDataDictionary viewDataDict = new ViewDataDictionary(); viewDataDict.AddRange(viewData, false); return(htmlHelper.Partial(partialViewName, model, viewDataDict)); }
private static ViewDataDictionary GetViewData(HtmlHelper helper, EntityBase line, TypeContext tc) { ViewDataDictionary vdd = new ViewDataDictionary(tc); if (line.PreserveViewData) { vdd.AddRange(helper.ViewData); } return(vdd); }
public static MvcHtmlString EmbeddedControl <T, S>(this HtmlHelper helper, TypeContext <T> tc, Expression <Func <T, S> > property, Action <EmbeddedControl> settingsModifier) { TypeContext context = TypeContextUtilities.CleanTypeContext(Common.WalkExpression(tc, property)); var vo = tc.ViewOverrides; if (vo != null && !vo.IsVisible(context.PropertyRoute)) { return(vo.OnSurroundLine(context.PropertyRoute, helper, tc, null)); } var ec = new EmbeddedControl(); if (settingsModifier != null) { settingsModifier(ec); } string viewName = ec.ViewName; if (viewName == null) { var es = Navigator.EntitySettings(context.Type.CleanType()); viewName = es.OnPartialViewName((ModifiableEntity)context.UntypedValue); context.ViewOverrides = es.GetViewOverrides(); } ViewDataDictionary vdd = new ViewDataDictionary(context); if (ec.ViewData != null) { vdd.AddRange(ec.ViewData); } var result = helper.Partial(viewName, vdd); if (vo == null) { return(result); } return(vo.OnSurroundLine(context.PropertyRoute, helper, tc, result)); }