public void AddEditor(TemplateViewModel display)
 {
     //TEMP: (loudej) transition code - from TemplateViewMode to ZoneItem
     ViewModel.Zones.AddEditorPart(
         display.ZoneName + ":" + display.Position,
         display.Model,
         display.TemplateName,
         display.Prefix);
 }
        public static void RenderTemplates(this HtmlHelper html, TemplateViewModel template) {
            if (template.WasUsed)
                return;

            template.WasUsed = true;

            var templateInfo = html.ViewContext.ViewData.TemplateInfo;
            var htmlFieldPrefix = templateInfo.HtmlFieldPrefix;
            try {
                templateInfo.HtmlFieldPrefix = templateInfo.GetFullHtmlFieldName(template.Prefix);
                html.RenderPartial(template.TemplateName, template.Model);
            }
            finally {
                templateInfo.HtmlFieldPrefix = htmlFieldPrefix;
            }
        }
        public static async Task RenderTemplatesAsync(this IHtmlHelper html, TemplateViewModel template)
        {
            if (template.WasUsed)
                return;

            template.WasUsed = true;

            var templateInfo = html.ViewContext.ViewData.TemplateInfo;
            var htmlFieldPrefix = templateInfo.HtmlFieldPrefix;
            try
            {
                templateInfo.HtmlFieldPrefix = templateInfo.GetFullHtmlFieldName(template.Prefix);
                await html.RenderPartialAsync(template.TemplateName, template.Model, html.ViewContext.ViewData);
            }
            finally
            {
                templateInfo.HtmlFieldPrefix = htmlFieldPrefix;
            }
        }