• 1000 1017 * код. Проблема, с которой я сталкиваюсь, заключается в том, что при перерисовке карты для фильтрации данных выполняемый js не собирает новые данные, доступные в коде программной части.
вот где данные собираются в коде позади:
private void buildMap()
{
//get date for the map points
Locations = BUS.GlobalMap.GetLocations(BUS.GlobalMap.GetLocationData());
Strengths = BUS.GlobalMap.GetTotalStrengths(BUS.GlobalMap.GetUnitData(currentUser.UserId, currentUser.CurrentUnitId));
ПРИМЕЧАНИЕ: buildMap()
вызывается при загрузке страницы, а затем также, когда btnDrawMap(object snder, EventArgs e)
запускается
, а вот js со смешанным встроенным c# на странице aspx:
//add overlays to the map
var unitOverlayObject = MoW.FeatureFactory.createFeatureOverlay(unitOverlayProperties);
map.addOverlay(unitOverlayObject);
var locationOverlayObject = MoW.FeatureFactory.createFeatureOverlay(locationOverlayProperties);
map.addOverlay(locationOverlayObject);
<%
//Create Location Points
foreach(SPAM.BUSINESS.Info.MapLocation location in Locations)
{ %>
var pointFeatureProperties = {
point: [<%= location.Latitude.ToString() %>, <%= location.Longitude.ToString() %>],
"attributes": {
name: "<%= location.Location.ToString()%>"
},
"style": {
fillColor: " <%= location.Color.ToString() %> ",
strokeColor: " <%= location.Color.ToString() %> ",
pointRadius: 5
}
};
var pointFeature = MoW.FeatureFactory.createPointFeature(pointFeatureProperties);
locationFeatures.push(pointFeature);
<%
} %>
<%
//Create Unit Points
foreach(SPAM.BUSINESS.Info.MapTotalStrength strength in Strengths)
{ %>
var pointFeatureProperties = {
point: [<%= strength.Latitude.ToString() %>, <%= strength.Longitude.ToString() %>],
"attributes": {
Name: "<%= strength.LocationName.ToString() %>",
Strength: "<%= strength.TotalStrength.ToString() %>",
Details: "<%= strength.Details.ToString() %>"
},
"style": {
fillColor: " <%= strength.Color.ToString() %> ",
strokeColor: " <%= strength.Color.ToString() %> ",
pointRadius: 7
}
};
var pointFeature = MoW.FeatureFactory.createPointFeature(pointFeatureProperties);
unitFeatures.push(pointFeature);
<%
} %>
map.addFeatures(unitOverlayObject.id, unitFeatures);
map.addFeatures(locationOverlayObject.id, locationFeatures);
});
Я смог подтвердить, что все это запускается каждый раз при загрузке страницы, обратной передаче и т. д. c ... путем размещения window.alert('<%= DateTime.Now.ToLongTimeString() %>');
вне циклов for, и каждый раз, когда страница будет публиковать, будет отображаться то же время