protected override void RenderControl(IHtmlWriter writer, IDotvvmRequestContext context) { var resourceManager = context.ResourceManager; if (resourceManager.HeadRendered) { return; } // set the flag before the resources are rendered, so they can't add more resources to the list during the render resourceManager.HeadRendered = true; // render resource links and preloads ResourcesRenderer.RenderResources(resourceManager, writer, context, ResourceRenderPosition.Head); }
protected override void RenderControl(IHtmlWriter writer, IDotvvmRequestContext context) { // render resource links var resourceManager = context.ResourceManager; if (resourceManager.BodyRendered) return; resourceManager.BodyRendered = true; // set the flag before the resources are rendered, so they can't add more resources to the list during the render ResourcesRenderer.RenderResources(resourceManager, writer, context, ResourceRenderPosition.Body); // render the serialized viewmodel var serializedViewModel = ((DotvvmRequestContext) context).GetSerializedViewModel(); writer.AddAttribute("type", "hidden"); writer.AddAttribute("id", "__dot_viewmodel_root"); writer.AddAttribute("value", serializedViewModel); writer.RenderSelfClosingTag("input"); // init on load writer.RenderBeginTag("script"); writer.WriteUnencodedText($@" window.dotvvm.domUtils.onDocumentReady(function () {{ window.dotvvm.init('root', {JsonConvert.ToString(CultureInfo.CurrentCulture.Name, '"', StringEscapeHandling.EscapeHtml)}); }});"); writer.RenderEndTag(); }
protected override void RenderContents(IHtmlWriter writer, IDotvvmRequestContext context) { ResourcesRenderer.RenderResources(context.ResourceManager, writer, context, ResourceRenderPosition.Body); base.RenderContents(writer, context); }