我试图将html保存到JS变量
var popupBody = '<%= MyContext.Current.DynamicProperties.FirstOrDefault(p => p.PropertyName == "PopupModalBody").PropertyValue %>';
上面的代码将尝试将C#返回的html存储到JS变量(popupBody),但它在控制台中返回语法错误,因为html不在一行中。我怎样才能做到这一点?谢谢你的帮助。
答案 0 :(得分:1)
您可以使用模板字符串代替此模板。它是ES6的一部分,并确保您的浏览器支持此功能。
var popupBody = `<%= MyContext.Current.DynamicProperties.FirstOrDefault(p => p.PropertyName == "PopupModalBody").PropertyValue %>`;
<强> Reference 强>
答案 1 :(得分:0)
我不是ASP.net(假设来自<%= %>
)程序员的情况,但总的想法,无论你生成哪种模板语言或编程语言JavaScript in是您可以对JavaScript文字使用JSON编码。
所以 - 假设模板中有Json.Encode
之类的内容:
var popupBody = <%= Json.Encode(MyContext.Current.DynamicProperties.FirstOrDefault(p => p.PropertyName == "PopupModalBody").PropertyValue) %>;
注意缺少报价; JSON编码器将添加这些,因为它编码一个字符串。