From e1245d874f695ac5f65cf9412b0cbbfc9be53c5b Mon Sep 17 00:00:00 2001 From: Ajay Bhargav Baaskaran Date: Tue, 8 Jan 2019 16:11:18 -0800 Subject: [PATCH] Fix: Missing void end tag when targeted by TH with WithoutEndTag structure (dotnet/aspnetcore-tooling#105) \n\nCommit migrated from https://github.com/dotnet/aspnetcore-tooling/commit/33bf2691d5a58e9a071b9774c3867d8c5120cf4a --- .../src/Legacy/TagHelperParseTreeRewriter.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/TagHelperParseTreeRewriter.cs b/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/TagHelperParseTreeRewriter.cs index 3ad6edcff9..47f96d7d3b 100644 --- a/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/TagHelperParseTreeRewriter.cs +++ b/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/TagHelperParseTreeRewriter.cs @@ -111,18 +111,18 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { var tagHelperElement = SyntaxFactory.MarkupTagHelperElement(tagHelperStart, body: new SyntaxList(), endTag: null); var rewrittenTagHelper = tagHelperElement.WithTagHelperInfo(tagHelperInfo); - if (node.Body.Count == 0) + if (node.Body.Count == 0 && node.EndTag == null) { return rewrittenTagHelper; } - // This tag contains a body which needs to be moved to the parent. + // This tag contains a body and/or an end tag which needs to be moved to the parent. var rewrittenNodes = SyntaxListBuilder.Create(); rewrittenNodes.Add(rewrittenTagHelper); var rewrittenBody = VisitList(node.Body); rewrittenNodes.AddRange(rewrittenBody); - return SyntaxFactory.MarkupElement(startTag: null, body: rewrittenNodes.ToList(), endTag: null); + return SyntaxFactory.MarkupElement(startTag: null, body: rewrittenNodes.ToList(), endTag: node.EndTag); } else if (node.EndTag == null) {