diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.Host/Internal/TagHelperChunkDecorator.cs b/src/Microsoft.AspNetCore.Mvc.Razor.Host/Internal/TagHelperChunkDecorator.cs index 7da6e28db8..3c69cfc078 100644 --- a/src/Microsoft.AspNetCore.Mvc.Razor.Host/Internal/TagHelperChunkDecorator.cs +++ b/src/Microsoft.AspNetCore.Mvc.Razor.Host/Internal/TagHelperChunkDecorator.cs @@ -40,7 +40,11 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host.Internal tagHelperChunk.Descriptors = Decorate(tagHelperChunk.Descriptors); } - base.Accept(chunk); + var parentChunk = chunk as ParentChunk; + if (parentChunk != null) + { + Visit(parentChunk); + } } protected override void Visit(ParentChunk parentChunk) diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.Host/Internal/ViewComponentTagHelperChunkVisitor.cs b/src/Microsoft.AspNetCore.Mvc.Razor.Host/Internal/ViewComponentTagHelperChunkVisitor.cs index 6ab3a03779..d1bca55fc1 100644 --- a/src/Microsoft.AspNetCore.Mvc.Razor.Host/Internal/ViewComponentTagHelperChunkVisitor.cs +++ b/src/Microsoft.AspNetCore.Mvc.Razor.Host/Internal/ViewComponentTagHelperChunkVisitor.cs @@ -41,7 +41,11 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host.Internal Visit(tagHelperChunk); } - base.Accept(chunk); + var parentChunk = chunk as ParentChunk; + if (parentChunk != null) + { + Visit(parentChunk); + } } protected override void Visit(ParentChunk parentChunk) diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Internal/ChunkVisitorTestFactory.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Internal/ChunkVisitorTestFactory.cs index a9e0b09a8f..f5e6ab592a 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Internal/ChunkVisitorTestFactory.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Internal/ChunkVisitorTestFactory.cs @@ -68,7 +68,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host private static ParentChunk GetNestedViewComponentTagHelperChunk(string name, bool visitedTagHelperChunks) { - var parentChunk = new ParentChunk(); + var parentChunk = GetTagHelperChunk("blah"); var tagHelperChunk = GetViewComponentTagHelperChunk(name, visitedTagHelperChunks); parentChunk.Children.Add(tagHelperChunk); return parentChunk; diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Internal/TagHelperChunkDecoratorTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Internal/TagHelperChunkDecoratorTest.cs index 84914a0ff1..7d9f65f2c6 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Internal/TagHelperChunkDecoratorTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Internal/TagHelperChunkDecoratorTest.cs @@ -44,7 +44,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host.Test // Test the parent chunk with view component tag helper inside, Foo. var expectedParentChunk = (ParentChunk)expectedChunks[1]; - var resultParentChunk = Assert.IsType(resultChunks[1]); + var resultParentChunk = Assert.IsType(resultChunks[1]); Assert.Single(resultParentChunk.Children); expectedTagHelperChunk = (TagHelperChunk)expectedParentChunk.Children.First();