将html存储到JS变量中

时间:2017-01-26 10:49:26

标签: javascript c# html

我试图将html保存到JS变量

var popupBody = '<%= MyContext.Current.DynamicProperties.FirstOrDefault(p => p.PropertyName == "PopupModalBody").PropertyValue %>';

上面的代码将尝试将C#返回的html存储到JS变量(popupBody),但它在控制台中返回语法错误,因为html不在一行中。我怎样才能做到这一点?谢谢你的帮助。

2 个答案:

答案 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编码器将添加这些,因为它编码一个字符串。