/// <inheritdoc /> public override Func <ITag, TemplateContext, object> BuildExcuteMethod() { return((tag, context) => { var t = tag as LoadTag; object path = context.Execute(t.Path); if (path == null) { return null; } var res = context.FindFullPath(path.ToString()); if (string.IsNullOrEmpty(res)) { return null; } var reader = new Resources.ResourceReader(res); var result = context.InterpretTemplate(res, reader); using (System.IO.StringWriter writer = new StringWriter()) { result.Render(writer, context); return writer.ToString(); } }); }
/// <inheritdoc /> public override Func <ITag, TemplateContext, object> BuildExcuteMethod() { return((tag, context) => { var t = tag as LayoutTag; object path = context.Execute(t.Path); if (path == null) { return null; } var res = context.FindFullPath(path.ToString()); if (string.IsNullOrEmpty(res)) { return null; } var reader = new Resources.ResourceReader(res); var result = (InterpretResult)context.InterpretTemplate(res, reader); var tags = new List <ITag>(); for (int i = 0; i < result.Tags.Length; i++) { if (result.Tags[i] is BodyTag _) { for (int j = 0; j < t.Children.Count; j++) { tags.Add(t.Children[j]); } continue; } tags.Add(result.Tags[i]); } using (System.IO.StringWriter writer = new StringWriter()) { context.Render(writer, tags.ToArray()); return writer.ToString(); } }); }