0

我有一些代码来显示谷歌地图。在我的控制器中,我创建了 javascript:

MapCode = string.Format("<script type='text/javascript'>init_map('my_map', {0}, {1}, 20)</script>", location.Location.Coordinate.Latitude, location.Location.Coordinate.Longitude)

但我不能只写我的观点:

@Model.MapCode

因为那只是显示实际的 javascript - 不执行它。

有没有办法做到这一点?

4

3 回答 3

2

用于HtmlHelper.Raw()输出未编码的原始 HTML 到视图。

@Html.Raw(Model.MapCode)
于 2013-04-05T07:38:10.440 回答
1

您可以作为模型传递location.Location,然后在您的视图上执行此操作:

<script type='text/javascript'>init_map('my_map', '@Model.Coordinate.Latitude', '@Model.Coordinate.Longitude', 20)</script>

以这种方式,您不必从控制器构建脚本,这始终不是一个好主意。

于 2013-04-05T07:39:02.840 回答
0

我不认为混合服务器端和客户端(JavaScript 和 C#)代码是一种好的做法。

或者,如果您使用 jQuery,您可以使用jQuery.getScript() 。这样,您可以创建 AJAX 请求以获取数据并在 AJAX 回调中执行此操作。

于 2013-04-05T07:42:12.220 回答