Razor template containing page parts that mustache

2019-08-15 09:33发布

问题:

My page contains parts that will render on the client.

The problem I'm having is that razor does not render the parts as I expect them to. For example:

<script type="x-tmpl-mustache" id="filterTemplate">
        <img id="showFilter" src="~/Content/Image/arrow.png" />
</script>

Will not render the ~ sign, only when I place img outside of the script tags will it do as expected.

This is published in different application paths so I need razor to figure out what ~ is and replace it with the application path.

回答1:

You should use @Url.Content helper which will correctly resolve the path relative to the application root:

<script type="x-tmpl-mustache" id="filterTemplate">
        <img id="showFilter" src='@Url.Content("~/Content/Image/arrow.png")' />
</script>