Handlebars-Net / Handlebars.Net

A real .NET Handlebars engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Template partial keeps getting html escaped

BartVanBeurden opened this issue · comments

I have a layout partial

partials/layout.hbs

<html>
<body>
    <div class="content">
        {{> content}}
    </div>
</body>
</html>

and a message handlebars that uses this layout

message.hbs

{{#> layout}}

    {{#*inline "content"}}
        <b>{{ Data.Message }}</b>
    {{/inline}}

{{/layout}}

With the default configuration all my html tags are getting escaped (both in the layout.hbs as well as in the inline content hbs). Why? How do I fix this?
I don't believe this is normal behaviour for handlebars.js

The only way to render this properly is to pass in NoEscape in the configuration, but this has the unwanted side-effect that my {{ Data.Message }} does not get sanitized and can also contain html.

Hello @BartVanBeurden
Looks like a bug to me. Can you please provide a test covering your scenario?

@zjklee I have created a PR with an unit test demonstrating the issue.

@zjklee I implemented a fix, but I am not 100% certain its correct, so please take a look.