添加JavaScript代码以动态查看

时间:2013-04-05 07:34:55

标签: c# asp.net-mvc asp.net-mvc-4

我有一些代码可以显示谷歌地图。在我的控制器中,我创建了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 - 不执行它。

有办法做到这一点吗?

3 个答案:

答案 0 :(得分:2)

使用HtmlHelper.Raw()输出原始HTML而不进行编码。

@Html.Raw(Model.MapCode)

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

我没有看到将服务器端和客户端(JavaScript和C#)代码混合为一种良好的做法。

如果您使用的是jQuery,则可以使用jQuery.getScript()。那样你就可以 创建AJAX请求以获取数据并在AJAX回调中执行此操作。