Пример #1
0
        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);
        }
Пример #2
0
 public void Register(string tagName, ITmplHandler handler)
 {
     lock (_PENDING) {
         CustomTags[tagName] = handler;
     }
 }
Пример #3
0
 public void Register(string tagName, ITmplHandler handler)
 {
     lock (_PENDING){
         CustomTags[tagName] = handler;
     }
 }