向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 -不执行它
有办法做到这一点吗?
使用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回调中完成。