public HtmlHelper <S> To <S>() where S : class { RenderInfo <IDisplayModel> r = htmlHelper.InvokeTransformExt(renderInfo, createHandler <S>(renderInfo.Model), duplicate: true); htmlHelper.ViewContext.Writer.WriteLine(r.GetPartialrendering()); ViewDataDictionary <S> dataDictionary = new ViewDataDictionary <S>(renderInfo.Model as S); dataDictionary.TemplateInfo.HtmlFieldPrefix = BasicHtmlHelper.AddField(r.Prefix, "Item"); BasicHtmlHelper.CopyRelevantErrors(dataDictionary.ModelState, htmlHelper.ViewData.ModelState, dataDictionary.TemplateInfo.HtmlFieldPrefix); return(new TemplateInvoker <S>().BuildHelper(htmlHelper, dataDictionary)); }
public MvcHtmlString Invoke <S>(object template) where S : class { if (template == null) { throw(new ArgumentNullException("template")); } RenderInfo <IDisplayModel> r = htmlHelper.InvokeTransformExt(renderInfo, createHandler <S>(renderInfo.Model), duplicate: true); ViewDataDictionary <S> dataDictionary = new ViewDataDictionary <S>(renderInfo.Model as S); dataDictionary.TemplateInfo.HtmlFieldPrefix = BasicHtmlHelper.AddField(r.Prefix, "Item"); BasicHtmlHelper.CopyRelevantErrors(dataDictionary.ModelState, htmlHelper.ViewData.ModelState, dataDictionary.TemplateInfo.HtmlFieldPrefix); return(MvcHtmlString.Create(r.GetPartialrendering() + (new TemplateInvoker <S>().Invoke(htmlHelper, dataDictionary)))); }