Передача значения из codebehind в js

1

У меня есть этот код javascript, который показывает объекты на карте:

 <script type="text/javascript">
            google.maps.event.addDomListener(window, 'load', init);

            function init() {
                var locations = [
                    [40.6128, -73.9976, "images/pin-apartment.png", "estate-details-right-sidebar.html", "images/infobox-offer1.jpg", "Fort Collins, Colorado 80523, USA", "$320 000"],[41.6926, -87.6021, "images/pin-house.png", "estate-details-right-sidebar.html", "images/infobox-offer5.jpg", "E. Elwood St. Phoenix, AZ 85034, USA", "$300 000"]
                ];

                offersMapInit("offers-map", locations);
            }

        </script>

Но я хочу, чтобы он был заполнен из базы данных/С#. Как я могу это сделать?

Как я могу передать такой массив из моего page_load в этот js-скрипт?

 protected void Page_Load(object sender, EventArgs e){}
  • 0
    Вам нужно выполнить запрос Http от JS до C #. Кажется, что вы работаете с WebForms, в этом вам нужно создать веб-сервис. Проверьте это руководство: codeproject.com/Articles/14610/…
Теги:
arrays

1 ответ

1

Вы можете сериализовать массив С# с помощью JsonConvert.SerializeObject. например

protected string StringArray { get; set;}
Page_Load(object sender, EventArgs e) {
   StringArray = JsonConvert.SerializeObject(new string[] {"foo", "bar"});
}

В Javascript:

<script type="text/javascript">
    google.maps.event.addDomListener(window, 'load', init);

    function init() {
        var locations = <%= StringArray %>;

        offersMapInit("offers-map", locations);
    }

</script>

Вы также можете объявить переменную из С#:

var stringArray = JsonConvert.SerializeObject(new string[] {"foo", "bar"});
ClientScript.RegisterStartupScript(GetType(), "locations", $"var locations = {stringArray};", true);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню