我有 C# razor *.cshtml 模板文件,想将其用于 Angular (5) 服务器端渲染。
C# .cshtml 片段:
@helper RenderLookupComponent()
{
<list-lookup
[data]="getLookupData('@Model.LookupSourceType')"
[lookupType]="'@Model.LookupSourceType'">
</list-lookup>
}
一切正常,直到 '@Model.LookupSourceType' 值不包含转义符号 ('\'),例如当 @Model.LookupSourceType = 'SomeType\'
Angular 模板解析器错误:
[error]: Template parse errors:
Parser Error: Missing expected ) at column # in [getLookupData('SomeType\')]
乍一看是个普通的问题,其实只要把'\'全部换成'\'就可以解决。 (@Model.LookupSourceType.Replace(@"\", @"\\"
))。
问:但我相信应该有更优雅、更通用的方法来解决这类问题。 可以处理不同类型转义符号的所有可能情况的方法
请分享你的经验
最佳答案
使用 HttpUtility.JavaScriptStringEncode(Model.LookupSourceType)
解决了问题
关于javascript - Angular 服务器端呈现模板 (.cshtml) 使用转义符号解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58868319/