From f74124117138f65eec8b022e5b7b2722f1061b66 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 1 Jan 2019 19:22:41 -0800 Subject: [PATCH] Fix lowering of data- with HTML for components This was missed in the previous attempt to fix data- attributes. HTML wasn't being translated into the correct IR. \n\nCommit migrated from https://github.com/dotnet/aspnetcore-tooling/commit/239a88d97316b21319dcf7246f97889f76d7900d --- ...faultRazorIntermediateNodeLoweringPhase.cs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/Razor/Microsoft.AspNetCore.Razor.Language/src/DefaultRazorIntermediateNodeLoweringPhase.cs b/src/Razor/Microsoft.AspNetCore.Razor.Language/src/DefaultRazorIntermediateNodeLoweringPhase.cs index 084fd628fa..84f4d12f8f 100644 --- a/src/Razor/Microsoft.AspNetCore.Razor.Language/src/DefaultRazorIntermediateNodeLoweringPhase.cs +++ b/src/Razor/Microsoft.AspNetCore.Razor.Language/src/DefaultRazorIntermediateNodeLoweringPhase.cs @@ -1255,6 +1255,27 @@ namespace Microsoft.AspNetCore.Razor.Language public override void VisitMarkupTextLiteral(MarkupTextLiteralSyntax node) { + if (_builder.Current is HtmlAttributeIntermediateNode) + { + // This can happen inside a data- attribute + _builder.Push(new HtmlAttributeValueIntermediateNode() + { + Prefix = string.Empty, + Source = BuildSourceSpanFromNode(node), + }); + + _builder.Add(new IntermediateToken() + { + Content = node.GetContent() ?? string.Empty, + Kind = TokenKind.Html, + Source = BuildSourceSpanFromNode(node), + }); + + _builder.Pop(); + + return; + } + var context = node.GetSpanContext(); if (context != null && context.ChunkGenerator == SpanChunkGenerator.Null) {