Встроенный код c# не получает новых значений при обновлении страницы - PullRequest
0 голосов
/ 07 мая 2020
• 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, и каждый раз, когда страница будет публиковать, будет отображаться то же время

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...