private void ExecuteCustomTag(Tag tag) { ITmplHandler tagHandler = customTags[tag.Name]; bool processInnerElements = true; bool captureInnerContent = false; tagHandler.BeforeProcess(this, tag, ref processInnerElements, ref captureInnerContent); string innerContent = null; if (processInnerElements) { TextWriter saveWriter = writer; if (captureInnerContent) { writer = new StringWriter(); } try { ProcessElements(tag.InnerElements); innerContent = writer.ToString(); } finally { writer = saveWriter; } } tagHandler.AfterProcess(this, tag, innerContent); }
public void Register(string tagName, ITmplHandler handler) { lock (_PENDING) { CustomTags[tagName] = handler; } }
public void Register(string tagName, ITmplHandler handler) { lock (_PENDING){ CustomTags[tagName] = handler; } }