public void OnOutputElement(OutputElementContext context) { bool matched = false; if (index == 14) { matched = true; Assert.IsTrue(context.Kind == OutputElementKind.BIND); Assert.IsTrue(context.WithinElementsAttribute); Assert.IsFalse(context.WithinClientSideComment); Assert.AreEqual(context.InnerText.Trim(), "Eval(\"PersonID\")"); } if (index == 18) { matched = true; Assert.IsTrue(context.Kind == OutputElementKind.BIND); Assert.IsTrue(context.WithinElementsAttribute); Assert.IsFalse(context.WithinClientSideComment); Assert.AreEqual(context.InnerText.Trim(), "Bind(\"LastName\")"); } if (index == 31) { matched = true; Assert.IsTrue(context.Kind == OutputElementKind.PLAIN); Assert.IsTrue(context.WithinElementsAttribute); Assert.IsFalse(context.WithinClientSideComment); Assert.AreEqual(context.InnerText.Trim(), "\"TEST3\""); } if (index == 33) { matched = true; Assert.IsTrue(context.Kind == OutputElementKind.HTML_ESCAPED); Assert.IsTrue(context.WithinElementsAttribute); Assert.IsFalse(context.WithinClientSideComment); Assert.AreEqual(context.InnerText.Trim(), "\"TEST4\""); } if (index == 35) { matched = true; Assert.IsTrue(context.Kind == OutputElementKind.PLAIN); Assert.IsFalse(context.WithinElementsAttribute); Assert.IsFalse(context.WithinClientSideComment); Assert.AreEqual(context.InnerText.Trim(), "\"TEST5\""); } Assert.IsTrue(matched); index++; }
/// <summary> /// Called after output element <%= %>, <%$ %> or <%: %> /// </summary> public void OnOutputElement(OutputElementContext context) { IList list = null; if (context.Kind == OutputElementKind.HTML_ESCAPED || context.Kind == OutputElementKind.PLAIN) { context.InnerBlockSpan.Move(1, 1); // fix numbering // use code lookupers to explore the code if (fileLanguage == FILETYPE.CSHARP) { list = parentCommand.LookupInCSharpAspNet(context.InnerText, context.InnerBlockSpan, declaredNamespaces, ClassFileName); } else if (fileLanguage == FILETYPE.VB) { list = parentCommand.LookupInVBAspNet(context.InnerText, context.InnerBlockSpan, declaredNamespaces, ClassFileName); } } else if (context.Kind == OutputElementKind.EXPRESSION) { if (parentCommand is BatchInlineCommand) { list = ((BatchInlineCommand)parentCommand).ParseResourceExpression(context.InnerText, context.InnerBlockSpan, fileLanguage == FILETYPE.CSHARP ? LANGUAGE.CSHARP : LANGUAGE.VB); } } if (list != null) { foreach (AbstractResultItem item in list) { item.ComesFromClientComment = context.WithinClientSideComment; if (item is AspNetStringResultItem) { ((AspNetStringResultItem)item).ComesFromInlineExpression = true; ((AspNetStringResultItem)item).ClassOrStructElementName = ClassFileName; } if (item is AspNetCodeReferenceResultItem) { ((AspNetCodeReferenceResultItem)item).ComesFromInlineExpression = true; ((AspNetCodeReferenceResultItem)item).InlineReplaceSpan = context.OuterBlockSpan; } } AddContextToItems((IEnumerable)list); } }