向View动态添加JavaScript代码

本文关键字:JavaScript 代码 添加 动态 View | 更新日期: 2023-09-27 18:07:36

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

有办法做到这一点吗?

向View动态添加JavaScript代码

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

@Html.Raw(Model.MapCode)

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

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

通过这种方式,您不必从控制器构建脚本,这通常不是一个好主意。

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

如果你使用jQuery,你也可以使用jQuery. getscript()。这样你就可以创建AJAX请求来获取数据,并在AJAX回调中完成。