我有以下部分“InfoWindowContent”视图。
@model CasWeb.Models.ViewModels.AssetLocation
<div>
<h2>@Model.Name</h2>
<table>
<tr>
<td>
Lat:
</td>
<td>@Model.Lat
</td>
</tr>
<tr>
<td>
Lng:
</td>
<td>@Model.Lng
</td>
</tr>
</table>
</div>
我想将此作为谷歌地图信息窗口的内容。所以我一直在想这样的事情
//Get the content for info window for this asset from a a partial view
var infoWindowContent@(asset.Name) = "@Html.Action("InfoWindowContent", @asset)";
var infoWindow@(asset.Name) = new google.maps.InfoWindow({
content: infoWindowContent@(asset.Name),
maxWidth: 200
});
我遇到的问题是java脚本抱怨有一个未终止的字符串文字,因为@html.Action方法返回包含所有换行符的局部视图,我最终得到了如下的java脚本代码: p>
var infoWindowContentd4444444 = "<div>
<h2>d4444444</h2>
<table>
<tr>
<td>
Lat:
</td>
<td>43
</td>
</tr>
<tr>
<td>
Lng:
</td>
<td>43
</td>
</tr>
</table>
“;
我可以解决这个问题,从我的部分视图中删除所有换行符,如:
@model CasWeb.Models.ViewModels.AssetLocation
<div><h2>@Model.Name</h2><table><tr><td>Lat:</td><td>@Model.Lat</td></tr><tr><td>Lng:</td><td>@Model.Lng</td></tr></table></div>
但这很痛苦,难以维持。
如何将部分视图呈现为java脚本字符串?