/** * Renders view fragment for the Form, using the specified model. * Generates javascript to initialize all rendered components. * * @param form Form of the fragment to be rendered * @param fragment fragment name * @param model model for the fragment view * @return HtmlFragment with rendered HTML and initialization script */ public HtmlFragment RenderFragment(Form form, string fragment, object model) { form.FormEngine = this; var reg = new RenderingContext(form); var builder = new StringBuilder(); reg.Collect(() => builder.Append(_viewRenderer.RenderFragment(form, fragment, model))); var script = new JsClosure(() => { foreach (var comp in reg.Components) { comp.Init(); } }); return(new HtmlFragment(builder.ToString(), script)); }