来自 javascript 对象的 @Html.Partial 期间未终止的字符串常量

Unterminated string constant during @Html.Partial from javascript object

var html = '@Html.Partial("_mypartialview")';
$("#container").html(html);

我在单页应用程序中工作,我不想隐藏容器 div 元素;相反,我想将 html 内容加载到我的 javascript 对象中。

但我收到错误消息:

Unterminated string constant.

我试过各种方法都没有成功。任何关于为什么我会收到此错误的帮助将不胜感激。

像这样

var html = "@Html.Partial("_mypartialview").ToHtmlString().Replace("\n", "<br/>").Replace(" ", "")";

ToHtmlString() 方法 HTML 对您的 html 进行编码,因此引号不会混淆您的 JavaScript.

这两种替换方法将删除新行和空格,因此内容全部在一行上。

更新

_mypartialview

 <div>
     <span data-bind="text:playerInfo.Name"> </span> 
</div> 

代码

 var html = "@Html.Partial("_mypartialview").ToString().Replace(Environment.NewLine, "").Replace(" ", "")"

这会输出以下内容

var html = "&lt;div&gt;&lt;spandata-bind=&quot;text:playerInfo.Name&quot;&gt;&lt;/span&gt;&lt;/div&gt;"