internal void RaiseOutputEvent(OutputEventArgs e) { if (this.Output != null) { this.Output(this, e); } }
protected override void Render(HtmlTextWriter writer) { StringBuilder builder = new StringBuilder(); HtmlTextWriter tempWriter = new HtmlTextWriter(new StringWriter(builder)); if (this.Original != null) { controlAdapterRenderMethod.Invoke(this.Original, new Object[] { tempWriter }); } else { controlRenderMethod.Invoke(this.Control, new Object[] { tempWriter }); } if (String.IsNullOrWhiteSpace(this.XslPath) == false) { String path = HttpContext.Current.Server.MapPath(this.XslPath); XmlDocument xml = new XmlDocument(); xml.LoadXml(builder.ToString()); builder.Clear(); XslCompiledTransform xsl = new XslCompiledTransform(); xsl.Load(path); xsl.Transform(xml, null, tempWriter); } OutputEventArgs e = new OutputEventArgs() { Html = builder.ToString() }; this.OutputControl.RaiseOutputEvent(e); if (e.Html != builder.ToString()) { builder.Clear(); builder.Append(e.Html); } writer.Write(builder.ToString()); }