我在我的項目中創建了一個Google地圖部分視圖/用戶控件,該控件傳遞了包含緯度和經度值的強類型對象列表。什麼是在ASP.net MVC2中創建動態javascript的正確方法?
目前,這是我的代碼有部分:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Project.Models.Entities.Location>>" %>
<!-- Place for google to put the map -->
<div id="report_map_canvas" style="width: 100%; height: 728px; margin-bottom: 2px;">
</div>
<script type='text/javascript'>
google.load("maps", "2");
$(document).ready(initializeMap);
function initializeMap() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById('report_map_canvas'));
map.setCenter(new GLatLng(51.5, -0.1167), 2);
<% foreach (var item in Model) { %>
map.addOverlay(new GMarker(new GLatLng('<%= Html.Encode(item.latitude)%>','<%= Html.Encode(item.longitude)%>'),{ title: '<%= Html.Encode(String.Format("{0:F}",item.speed)) %> km/h '}));
<% } %>
map.setUIToDefault();
}
}
</script>
那麼,是否可以動態創建JavaScript文件這樣通過遍歷列表,併發射的JavaScript?
有沒有更好的方法來做到這一點?
您是否認爲在視圖中生成數據JSON數組已足夠好,還是應該以某種方式將其卸載到控制器? – sabbour 2010-05-09 10:06:31
在這種情況下,我寧願將它保留在視圖中。 – Kronass 2010-05-09 10:12:17