我有以下部分“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脚本代码,如:
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 脚本字符串吗?