public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb) { if (IsCData) sb.Append("<![CDATA["); sb.Append(Text); if (IsCData) sb.Append("]]>"); }
public void TestInstantiate() { var tpl = new Template(); IInstantiatedTemplateControl ctl = null; var m1 = mocks.StrictMock <IMember>(); var m2 = mocks.StrictMock <IMember>(); var container = mocks.StrictMock <IContainer>(); Expect.Call(m1.Name).Return("m1").Repeat.Any(); Expect.Call(m2.Name).Return("m2").Repeat.Any(); Expect.Call(m1.Dependencies).Return(new string[] { }); Expect.Call(m2.Dependencies).Return(new string[] { "m1" }); Expect.Call(() => m1.Instantiate(null, null, container)).IgnoreArguments().Constraints(Is.Same(tpl), Is.NotNull(), Is.Same(container)).Do((Action <ITemplate, IInstantiatedTemplateControl, IContainer>)((_, c, __) => { ctl = c; })); Expect.Call(() => m2.Instantiate(null, null, container)).IgnoreArguments().Constraints(Is.Same(tpl), Is.Matching((IInstantiatedTemplateControl x) => object.ReferenceEquals(x, ctl)), Is.Same(container)); tpl.MainRenderFunction.AddFragment(new LiteralFragment("X")); mocks.ReplayAll(); tpl.AddMember(m1); tpl.AddMember(m2); var actual = tpl.Instantiate(container); Assert.AreSame(ctl, actual); actual.Id = "SomeId"; Assert.AreEqual("X", actual.Html); mocks.VerifyAll(); }
public void Instantiate(ITemplate tpl, IInstantiatedTemplateControl ctl, IContainer container) { if (CustomInstantiate) throw ParserUtils.TemplateErrorException("Dynamically instantiated templates cannot have customInstantiate controls."); var newCtl = (IControl)container.CreateObjectByTypeName(typeName); foreach (var prop in additionalProperties) Utils.SetPropertyValue(newCtl, prop.Key, ((TypedMarkupData)prop.Value).ValueRetriever()); ctl.AddControl(name, newCtl); }
public string Render(ITemplate tpl, IInstantiatedTemplateControl ctl) { var sb = new StringBuilder(); foreach (IFragment f in ParserUtils.MergeFragments(fragments)) { f.Render(tpl, ctl, sb); } return(sb.ToString()); }
public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb) { if (IsCData) { sb.Append("<![CDATA["); } sb.Append(Text); if (IsCData) { sb.Append("]]>"); } }
public void Instantiate(ITemplate tpl, IInstantiatedTemplateControl ctl, IContainer container) { if (CustomInstantiate) { throw ParserUtils.TemplateErrorException("Dynamically instantiated templates cannot have customInstantiate controls."); } var newCtl = (IControl)container.CreateObjectByTypeName(typeName); foreach (var prop in additionalProperties) { Utils.SetPropertyValue(newCtl, prop.Key, ((TypedMarkupData)prop.Value).ValueRetriever()); } ctl.AddControl(name, newCtl); }
public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb) { #if CLIENT IClientCreateControl me = (IClientCreateControl)ctl.Controls[Id]; #else IControl me = ctl.Controls[Id]; #endif if (NumInnerFragments > 0) { string[] innerFragments = new string[NumInnerFragments]; for (int i = 0; i < NumInnerFragments; i++) { innerFragments[i] = ((IRenderFunction)tpl.GetMember(Id + "_inner" + Utils.ToStringInvariantInt(i + 1))).Render(tpl, ctl); } ((IControlHost)me).SetInnerFragments(innerFragments); } sb.Append(me.Html); }
public void Instantiate(ITemplate tpl, IInstantiatedTemplateControl ctl, IContainer container) { }
public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb) { int year = DateTime.Now.Year; sb.Append("Copyright © " + Utils.ToStringInvariantInt(year) + " " + text); }
public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb) { sb.Append(PositionHelper.CreateStyle(((IControl)ctl).Position, -1, -1)); }
public void Instantiate(ITemplate tpl, IInstantiatedTemplateControl ctl, IContainer container) { ctl.AddNamedElement(name); }
public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb) { sb.Append(((IControl)ctl).Id); }
public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb) { throw ParserUtils.TemplateErrorException("Dynamically instantiated templates cannot have embedded code."); }
public string Render(ITemplate tpl, IInstantiatedTemplateControl ctl) { var sb = new StringBuilder(); foreach (IFragment f in ParserUtils.MergeFragments(fragments)) f.Render(tpl, ctl, sb); return sb.ToString(); }