问题
var html = '@Html.Partial("_mypartialview")';
$("#container").html(html);
I am working in a single page application and I don't want to hide the container div element; instead I want to load the html content into my javascript object.
But I get the error:
Unterminated string constant.
I have tried various methods without any success. Any help as to why I get this error would be really appreciated.
回答1:
Like this
var html = "@Html.Partial("_mypartialview").ToHtmlString().Replace("\n", "<br/>").Replace(" ", "")";
The ToHtmlString() method HTML encodes your html so the quotes won't confuse your JavaScript.
The two replace methods will remove new lines and whitespace so the content is all on one line.
Update
_mypartialview
<div>
<span data-bind="text:playerInfo.Name"> </span>
</div>
Code
var html = "@Html.Partial("_mypartialview").ToString().Replace(Environment.NewLine, "").Replace(" ", "")"
This outputs the following
var html = "<div><spandata-bind="text:playerInfo.Name"></span></div>"
来源:https://stackoverflow.com/questions/28761693/unterminated-string-constant-during-html-partial-from-javascript-object