private static HTMLElement BuildBody(IFormView <HTMLElement> newMaster) { var result = new HTMLDivElement(); var templateWithParams = BuildTemplateAndParams(newMaster.Render(result)); Logger.Debug(typeof(FormCanvasExtensions), "BuildBody() got template={0} and params={1}", templateWithParams.Item1, templateWithParams.Item2.Values.PrettyToString()); result.InnerHTML = templateWithParams.Item1; foreach (var idToView in templateWithParams.Item2) { var id = idToView.Key + ""; var toBeReplaced = result.FindContainedElementByIdOrNull(id); var replaceTo = idToView.Value; //Logger.Debug(typeof(FormCanvasExtensions),"BuildBody() will replace {0} having id={1} with iview {2}", toBeReplaced.InnerHTML, id, replaceTo.InnerHTML); toBeReplaced.ParentNode.ReplaceChild( replaceTo, toBeReplaced); //Logger.Debug(typeof(FormCanvasExtensions),"BuildBody() replaced and container is now {0}", result.InnerHTML); } Logger.Debug(typeof(FormCanvasExtensions), "BuildBody() ending"); return(result); }