角度服务器端渲染模板(.cs.html)解析带有转义符号的错误



我有C#razor*.cshtml模板文件,希望将其用于Angular(5(服务器端渲染。

C#.cs.html代码段:

@helper RenderLookupComponent()
{
<list-lookup 
[data]="getLookupData('@Model.LookupSourceType')"
[lookupType]="'@Model.LookupSourceType'">
</list-lookup>
}

@Model.LookupSourceType">值不包含转义符('\'(之前,一切都很正常,例如当@Model.LookupSource Type='SomeType\'

角度模板解析器错误:

[error]: Template parse errors:
Parser Error: Missing expected ) at column # in [getLookupData('SomeType')]

乍一看,这看起来像是一个普通的问题,实际上可以通过将所有的"\"替换为"\"来解决。(@Model.LookupSourceType.Replace(@"", @"\"((。

问:但我认为应该有更优雅、更通用的方法来解决这类问题。可以处理不同类型的转义符号的所有可能场景的方法

请分享你的经验

使用HttpUtility.JavaScriptStringEncode(Model.LookupSourceType)解决了问题

最新更新